This saves 8 bytes per VP on a 64-bit machine. That adds up...
typedef struct value_pair {
const char *name;
+ struct value_pair *next;
+
+ /*
+ * Pack 4 32-bit fields together. Saves ~8 bytes per struct
+ * on 64-bit machines.
+ */
unsigned int attribute;
unsigned int vendor;
int type;
- size_t length; /* of data */
#ifdef __cplusplus
/*
* C++ hackery. The server and modules are all C, so
#else
FR_TOKEN operator;
#endif
+
ATTR_FLAGS flags;
- struct value_pair *next;
+
+ size_t length; /* of data field */
VALUE_PAIR_DATA data;
} VALUE_PAIR;
#define vp_strvalue data.strvalue