diff options
-rw-r--r-- | ChangeLog | 13 | ||||
-rw-r--r-- | inet/arpa/tftp.h | 24 |
2 files changed, 28 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog index 92e6bca36c..51027aea48 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2012-05-08 Mike Frysinger <vapier@gentoo.org> + + * inet/arpa/tftp.h (struct tftphdr): Rename th_u to th_u1. Add + a struct th_u2 inside the union, and move tu_block/tu_code into + a new th_u3 union of tu_block/tu_code inside of that. Move + th_data[1] into the th_u2 as tu_data[0]. Change tu_stuff[1] to + tu_stuff[0]. Add a new tu_padding[4] to keep sizeof() the same. + (th_block): Change to th_u1.th_u2.th_u3.tu_block. + (th_code): Change to th_u1.th_u2.th_u3.tu_code. + (th_stuff): Change to th_u1.tu_stuff. + (th_data): Define. + (th_msg): Change to th_u1.th_u2.tu_data. + 2012-05-07 David S. Miller <davem@davemloft.net> * sysdeps/sparc/fpu/libm-test-ulps: Update. diff --git a/inet/arpa/tftp.h b/inet/arpa/tftp.h index 21b0559e54..86e0b6e814 100644 --- a/inet/arpa/tftp.h +++ b/inet/arpa/tftp.h @@ -49,17 +49,23 @@ struct tftphdr { short th_opcode; /* packet type */ union { - unsigned short tu_block; /* block # */ - short tu_code; /* error code */ - char tu_stuff[1]; /* request packet stuff */ - } __attribute__ ((__packed__)) th_u; - char th_data[1]; /* data or error string */ + char tu_padding[3]; /* sizeof() compat */ + struct { + union { + unsigned short tu_block; /* block # */ + short tu_code; /* error code */ + } __attribute__ ((__packed__)) th_u3; + char tu_data[0]; /* data or error string */ + } __attribute__ ((__packed__)) th_u2; + char tu_stuff[0]; /* request packet stuff */ + } __attribute__ ((__packed__)) th_u1; } __attribute__ ((__packed__)); -#define th_block th_u.tu_block -#define th_code th_u.tu_code -#define th_stuff th_u.tu_stuff -#define th_msg th_data +#define th_block th_u1.th_u2.th_u3.tu_block +#define th_code th_u1.th_u2.th_u3.tu_code +#define th_stuff th_u1.tu_stuff +#define th_data th_u1.th_u2.tu_data +#define th_msg th_u1.th_u2.tu_data /* * Error codes. |