From 0df5f2b4942a24d455281b8637ee24105646b7af Mon Sep 17 00:00:00 2001 From: mdw Date: Fri, 24 Sep 1999 13:15:57 +0000 Subject: [PATCH] Remove unnecessary assumptions about structure layouts. (The `pkhead' structure is no more.) --- src/sw_rsh.c | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/src/sw_rsh.c b/src/sw_rsh.c index 91aa82b..fc6a6be 100644 --- a/src/sw_rsh.c +++ b/src/sw_rsh.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: sw_rsh.c,v 1.5 1999/06/24 16:02:22 mdw Exp $ + * $Id: sw_rsh.c,v 1.6 1999/09/24 13:15:57 mdw Exp $ * * Run remote commands * @@ -29,6 +29,10 @@ /*----- Revision history --------------------------------------------------* * * $Log: sw_rsh.c,v $ + * Revision 1.6 1999/09/24 13:15:57 mdw + * Remove unnecessary assumptions about structure layouts. (The `pkhead' + * structure is no more.) + * * Revision 1.5 1999/06/24 16:02:22 mdw * Fix signal handling some more. * @@ -91,11 +95,6 @@ #define PKHEADSZ 3 -typedef struct pkhead { - octet len[2]; - octet type; -} pkhead; - /*----- Static variables --------------------------------------------------*/ static int handler = 0; @@ -119,7 +118,7 @@ static rcmd *rcmds = RCMD_LINK; int pksend(sw_remote *r, int type, const void *p, size_t sz) { - pkhead h; + octet h[PKHEADSZ]; const char *q = p; size_t chunk; @@ -132,13 +131,13 @@ int pksend(sw_remote *r, int type, const void *p, size_t sz) /* --- Main output loop --- */ - h.type = type; + h[2] = type; do { /* --- Set up the packet header --- */ chunk = (sz > PKMAX ? PKMAX : sz); - STORE16(h.len, chunk); + STORE16(h, chunk); /* --- Write the packet header --- */ @@ -184,7 +183,7 @@ int pksend(sw_remote *r, int type, const void *p, size_t sz) int pkrecv(sw_remote *r) { - pkhead h; + octet h[PKHEADSZ]; size_t sz; char *p; ssize_t n; @@ -222,7 +221,7 @@ int pkrecv(sw_remote *r) * characters. */ - if (h.type >= PKTYPE_BOGUS) { + if (h[2] >= PKTYPE_BOGUS) { memcpy(r->buf, &h, PKHEADSZ); n = read(r->fdin, r->buf + PKHEADSZ, sizeof(r->buf) - PKHEADSZ); if (n < 0) @@ -233,10 +232,10 @@ int pkrecv(sw_remote *r) /* --- Sort out what's going on --- */ - sz = LOAD16(h.len); + sz = LOAD16(h); r->sz = sz; if (!sz) - return (h.type); + return (h[2]); if (sz > PKMAX) { errno = E2BIG; return (-1); @@ -257,7 +256,7 @@ int pkrecv(sw_remote *r) } } - return (h.type); + return (h[2]); } /*----- Error reporting and exit statuses --------------------------------*/ -- 2.11.0