replace int64_t in _Generic macros with long/long long default tip

Wed, 25 Mar 2026 20:38:11 +0100

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Wed, 25 Mar 2026 20:38:11 +0100
changeset 54
eb4054841cd6
parent 53
82adacc27b5b

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);

mercurial