+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.
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.