diff options
| -rw-r--r-- | lib/setup.h | 16 | ||||
| -rw-r--r-- | tests/server/tftp.h | 9 | 
2 files changed, 16 insertions, 9 deletions
diff --git a/lib/setup.h b/lib/setup.h index 4bce5a93f..732b1a3b4 100644 --- a/lib/setup.h +++ b/lib/setup.h @@ -605,13 +605,17 @@ int netware_init(void);  #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)  #endif -/* Provide a mechanism to silence picky compilers, such as gcc 4.6+. -   Parameters should of course normally not be unused, but for example when we -   have multiple implementations of the same interface it may happen. */ -#ifndef __GNUC__ -#define UNUSED_PARAM /*NOTHING*/ +/* + * Provide a mechanism to silence picky compilers, such as gcc 4.6+. + * Parameters should of course normally not be unused, but for example when + * we have multiple implementations of the same interface it may happen. + */ + +#if defined(__GNUC__) && ((__GNUC__ >= 3) || \ +  ((__GNUC__ == 2) && defined(__GNUC_MINOR__) && (__GNUC_MINOR__ >= 7))) +#  define UNUSED_PARAM __attribute__((__unused__))  #else -#define UNUSED_PARAM __attribute__((__unused__)) +#  define UNUSED_PARAM /*NOTHING*/  #endif  /* diff --git a/tests/server/tftp.h b/tests/server/tftp.h index 461ab9a36..0650efe6a 100644 --- a/tests/server/tftp.h +++ b/tests/server/tftp.h @@ -28,8 +28,11 @@  #define SEGSIZE 512 /* data segment size */ -#ifndef __GNUC__ -#define __attribute__(x) +#if defined(__GNUC__) && ((__GNUC__ >= 3) || \ +  ((__GNUC__ == 2) && defined(__GNUC_MINOR__) && (__GNUC_MINOR__ >= 7))) +#  define PACKED_STRUCT __attribute__((__packed__)) +#else +#  define PACKED_STRUCT /*NOTHING*/  #endif  /* Using a packed struct as binary in a program is begging for problems, but @@ -40,7 +43,7 @@ struct tftphdr {    short th_opcode;         /* packet type */    unsigned short th_block; /* all sorts of things */    char th_data[1];         /* data or error string */ -} __attribute__ ((__packed__)); +} PACKED_STRUCT;  #define th_stuff th_block  #define th_code  th_block  | 
