From cbbcfa03f35d6fb9250b2ed317c8d26c2dd5eede Mon Sep 17 00:00:00 2001 From: Machiavelli Date: Sun, 19 Dec 2010 17:48:47 +0100 Subject: Core/DBLayer: Minor padding/alignment optimization in struct Field::data (16b->10b) --HG-- branch : trunk --- src/server/shared/Database/Field.h | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/server/shared/Database/Field.h b/src/server/shared/Database/Field.h index fb46ca44942..8b494d21679 100755 --- a/src/server/shared/Database/Field.h +++ b/src/server/shared/Database/Field.h @@ -239,13 +239,23 @@ class Field Field(); ~Field(); + #if defined(__GNUC__) + #pragma pack(1) + #else + #pragma pack(push,1) + #endif struct { - enum_field_types type; // Field type - void* value; // Actual data in memory - bool raw; // Raw bytes? (Prepared statement or adhoc) uint32 length; // Length (prepared strings only) - } data; + void* value; // Actual data in memory + enum_field_types type; // Field type + bool raw; // Raw bytes? (Prepared statement or adhoc) + } data; + #if defined(__GNUC__) + #pragma pack() + #else + #pragma pack(pop) + #endif void SetByteValue(const void* newValue, const size_t newSize, enum_field_types newType, uint32 length); void SetStructuredValue(char* newValue, enum_field_types newType); -- cgit v1.2.3