Wed, 25 Mar 2026 20:38:11 +0100
replace int64_t in _Generic macros with long/long long
| dbutils/dbutils/dbutils.h | file | annotate | diff | comparison | revisions |
--- a/dbutils/dbutils/dbutils.h Wed Mar 25 20:07:38 2026 +0100 +++ b/dbutils/dbutils/dbutils.h Wed Mar 25 20:38:11 2026 +0100 @@ -384,33 +384,47 @@ void dbuClassAddFKField(DBUClass *cls, const char *name, DBUField *field, DBUClass *fkcls); void dbuClassAddObjField(DBUClass *cls, const char *name, DBUField *field, DBUClass *foreign_cls); +#if !defined(__SIZEOF_LONG__) || __SIZEOF_LONG__ == 8 +#define dbuClassAddLong dbuClassAddInt64 +#define dbuClassAddULong dbuClassAddUInt64 +#define dbuClassAddLongFK dbuClassAddInt64FK +#define dbuClassAddULongFK dbuClassAddUInt64FK +#elif __SIZEOF_LONG__ == 4 +#define dbuClassAddLong dbuClassAddInt32 +#define dbuClassAddULong dbuClassAddUInt32 +#endif + #define dbuClassAdd(cls, type, member) \ dbuClassAddWithName(cls, type, member, #member) #define dbuClassAddWithName(cls, type, member, member_name) \ _Generic(((type*)0)->member, \ - int8_t: dbuClassAddInt8, \ - uint8_t: dbuClassAddUInt8, \ - int16_t: dbuClassAddInt16, \ - uint16_t: dbuClassAddUInt16, \ - int32_t: dbuClassAddInt32, \ - uint32_t: dbuClassAddUInt32, \ - int64_t: dbuClassAddInt64, \ - uint64_t: dbuClassAddUInt64, \ - bool: dbuClassAddBool, \ - float: dbuClassAddFloat, \ - double: dbuClassAddDouble, \ - char*: dbuClassAddString, \ - cxmutstr: dbuClassAddCXMutStr) \ + int8_t: dbuClassAddInt8, \ + uint8_t: dbuClassAddUInt8, \ + int16_t: dbuClassAddInt16, \ + uint16_t: dbuClassAddUInt16, \ + int32_t: dbuClassAddInt32, \ + uint32_t: dbuClassAddUInt32, \ + long: dbuClassAddLong, \ + unsigned long: dbuClassAddULong, \ + long long: dbuClassAddInt64, \ + unsigned long long: dbuClassAddUInt64, \ + bool: dbuClassAddBool, \ + float: dbuClassAddFloat, \ + double: dbuClassAddDouble, \ + char*: dbuClassAddString, \ + cxmutstr: dbuClassAddCXMutStr) \ (cls, member_name, offsetof(type, member), 0) #define dbuClassAddForeignKey(cls, type, member, foreigncls) \ _Generic(((type*)0)->member, \ - int32_t: dbuClassAddInt32FK, \ - uint32_t: dbuClassAddUInt32FK, \ - int64_t: dbuClassAddInt64FK, \ - uint64_t: dbuClassAddUInt64FK, \ - char*: dbuClassAddStringFK, \ - cxmutstr: dbuClassAddCXMutStrFK) \ + int32_t: dbuClassAddInt32FK, \ + uint32_t: dbuClassAddUInt32FK, \ + long: dbuClassAddLongFK, \ + unsigned long: dbuClassAddULongFK, \ + long long: dbuClassAddInt64FK, \ + unsigned long long: dbuClassAddUInt64FK, \ + char*: dbuClassAddStringFK, \ + cxmutstr: dbuClassAddCXMutStrFK) \ (cls, #member, offsetof(type, member), foreigncls, 0) void dbuClassAddInt(DBUClass *cls, const char *name, off_t offset, bool nonnull); @@ -423,8 +437,6 @@ void dbuClassAddUInt32(DBUClass *cls, const char *name, off_t offset, bool nonnull); void dbuClassAddInt64(DBUClass *cls, const char *name, off_t offset, bool nonnull); void dbuClassAddUInt64(DBUClass *cls, const char *name, off_t offset, bool nonnull); -void dbuClassAddSize(DBUClass *cls, const char *name, off_t offset, bool nonnull); -void dbuClassAddSSize(DBUClass *cls, const char *name, off_t offset, bool nonnull); void dbuClassAddBool(DBUClass *cls, const char *name, off_t offset, bool nonnull); void dbuClassAddFloat(DBUClass *cls, const char *name, off_t offset, bool nonnull); void dbuClassAddDouble(DBUClass *cls, const char *name, off_t offset, bool nonnull);