Tue, 09 Dec 2025 19:40:08 +0100
set more to* fptrs
| dbutils/field.c | file | annotate | diff | comparison | revisions |
--- a/dbutils/field.c Tue Dec 09 18:24:48 2025 +0100 +++ b/dbutils/field.c Tue Dec 09 19:40:08 2025 +0100 @@ -958,70 +958,76 @@ void dbuClassAddInt32FK(DBUClass *cls, const char *name, off_t offset, DBUClass *foreign_cls, bool nonnull) { - add_offset_fk_field( + DBUField *f = add_offset_fk_field( cls, name, offset, foreign_cls, (DBUFieldInitFunc)field_init_int32, nonnull); + f->toInt64 = (DBUFieldToInt64Func)field_get_int32; } void dbuClassAddUInt32FK(DBUClass *cls, const char *name, off_t offset, DBUClass *foreign_cls, bool nonnull){ - add_offset_fk_field( + DBUField *f = add_offset_fk_field( cls, name, offset, foreign_cls, (DBUFieldInitFunc)field_init_uint32, nonnull); + f->toUInt64 = (DBUFieldToUInt64Func)field_get_uint32; } void dbuClassAddInt64FK(DBUClass *cls, const char *name, off_t offset, DBUClass *foreign_cls, bool nonnull){ - add_offset_fk_field( + DBUField *f = add_offset_fk_field( cls, name, offset, foreign_cls, (DBUFieldInitFunc)field_init_int64, nonnull); + f->toInt64 = (DBUFieldToInt64Func)field_get_int64; } void dbuClassAddUInt64FK(DBUClass *cls, const char *name, off_t offset, DBUClass *foreign_cls, bool nonnull){ - add_offset_fk_field( + DBUField *f = add_offset_fk_field( cls, name, offset, foreign_cls, (DBUFieldInitFunc)field_init_uint64, nonnull); + f->toUInt64 = (DBUFieldToUInt64Func)field_get_uint64; } void dbuClassAddStringFK(DBUClass *cls, const char *name, off_t offset, DBUClass *foreign_cls, bool nonnull){ - add_offset_fk_field( + DBUField *f = add_offset_fk_field( cls, name, offset, foreign_cls, (DBUFieldInitFunc)field_init_str, nonnull); + f->toString = (DBUFieldToStringFunc)field_get_str; } void dbuClassAddCXMutStrFK(DBUClass *cls, const char *name, off_t offset, DBUClass *foreign_cls, bool nonnull){ - add_offset_fk_field( + DBUField *f = add_offset_fk_field( cls, name, offset, foreign_cls, (DBUFieldInitFunc)field_init_cxmutstr, nonnull); + f->toString = (DBUFieldToStringFunc)field_get_cxstr; } void dbuClassAddIntDef(DBUClass *cls, const char *name, off_t offset, int def) { union DBUDefValue defvalue; defvalue.def = def; - add_offset_def_field( + DBUField *f = add_offset_def_field( cls, name, offset, @@ -1029,12 +1035,13 @@ (DBUFieldInitFunc)field_init_int, false, (union DBUDefValue){ 0 }); + f->toInt64 = (DBUFieldToInt64Func)field_get_int32; } void dbuClassAddUIntDef(DBUClass *cls, const char *name, off_t offset, unsigned int def) { union DBUDefValue defvalue; defvalue.udef = def; - add_offset_def_field( + DBUField *f = add_offset_def_field( cls, name, offset, @@ -1042,12 +1049,13 @@ (DBUFieldInitFunc)field_init_uint, false, (union DBUDefValue){ 0 }); + f->toUInt64 = (DBUFieldToUInt64Func)field_get_uint32; } void dbuClassAddInt16Def(DBUClass *cls, const char *name, off_t offset, int16_t def) { union DBUDefValue defvalue; defvalue.def = def; - add_offset_def_field( + DBUField *f = add_offset_def_field( cls, name, offset, @@ -1055,12 +1063,13 @@ (DBUFieldInitFunc)field_init_int16, false, (union DBUDefValue){ 0 }); + f->toInt64 = (DBUFieldToInt64Func)field_get_int16; } void dbuClassAddUInt16Def(DBUClass *cls, const char *name, off_t offset, uint16_t def) { union DBUDefValue defvalue; defvalue.udef = def; - add_offset_def_field( + DBUField *f = add_offset_def_field( cls, name, offset, @@ -1068,12 +1077,13 @@ (DBUFieldInitFunc)field_init_uint16, false, (union DBUDefValue){ 0 }); + f->toUInt64 = (DBUFieldToUInt64Func)field_get_uint16; } void dbuClassAddInt32Def(DBUClass *cls, const char *name, off_t offset, int32_t def) { union DBUDefValue defvalue; defvalue.def = def; - add_offset_def_field( + DBUField *f = add_offset_def_field( cls, name, offset, @@ -1081,12 +1091,13 @@ (DBUFieldInitFunc)field_init_int32, false, (union DBUDefValue){ 0 }); + f->toInt64 = (DBUFieldToInt64Func)field_get_int32; } void dbuClassAddUInt32Def(DBUClass *cls, const char *name, off_t offset, uint32_t def) { union DBUDefValue defvalue; defvalue.udef = def; - add_offset_def_field( + DBUField *f = add_offset_def_field( cls, name, offset, @@ -1094,12 +1105,13 @@ (DBUFieldInitFunc)field_init_uint32, false, (union DBUDefValue){ 0 }); + f->toUInt64 = (DBUFieldToUInt64Func)field_get_uint32; } void dbuClassAddInt64Def(DBUClass *cls, const char *name, off_t offset, int64_t def) { union DBUDefValue defvalue; defvalue.def = def; - add_offset_def_field( + DBUField *f = add_offset_def_field( cls, name, offset, @@ -1107,12 +1119,13 @@ (DBUFieldInitFunc)field_init_int64, false, (union DBUDefValue){ 0 }); + f->toInt64 = (DBUFieldToInt64Func)field_get_int64; } void dbuClassAddUInt64Def(DBUClass *cls, const char *name, off_t offset, uint64_t def) { union DBUDefValue defvalue; defvalue.def = def; - add_offset_def_field( + DBUField *f = add_offset_def_field( cls, name, offset, @@ -1120,12 +1133,13 @@ (DBUFieldInitFunc)field_init_uint64, false, (union DBUDefValue){ 0 }); + f->toUInt64 = (DBUFieldToUInt64Func)field_get_uint64; } void dbuClassAddSizeDef(DBUClass *cls, const char *name, off_t offset, size_t def) { union DBUDefValue defvalue; defvalue.udef = def; - add_offset_def_field( + DBUField *f = add_offset_def_field( cls, name, offset, @@ -1133,12 +1147,13 @@ (DBUFieldInitFunc)field_init_size, false, (union DBUDefValue){ 0 }); + f->toUInt64 = (DBUFieldToUInt64Func)field_get_size; } void dbuClassAddSSizeDef(DBUClass *cls, const char *name, off_t offset, ssize_t def) { union DBUDefValue defvalue; defvalue.def = def; - add_offset_def_field( + DBUField *f = add_offset_def_field( cls, name, offset, @@ -1146,12 +1161,13 @@ (DBUFieldInitFunc)field_init_ssize, false, (union DBUDefValue){ 0 }); + f->toInt64 = (DBUFieldToInt64Func)field_get_ssize; } void dbuClassAddFloatDef(DBUClass *cls, const char *name, off_t offset, float def) { union DBUDefValue defvalue; defvalue.fdef = def; - add_offset_def_field( + DBUField *f = add_offset_def_field( cls, name, offset, @@ -1159,12 +1175,13 @@ (DBUFieldInitFunc)field_init_float, false, (union DBUDefValue){ 0 }); + f->toDouble = (DBUFieldToDoubleFunc)field_get_float; } void dbuClassAddDoubleDef(DBUClass *cls, const char *name, off_t offset, double def) { union DBUDefValue defvalue; defvalue.ddef = def; - add_offset_def_field( + DBUField *f = add_offset_def_field( cls, name, offset, @@ -1172,6 +1189,7 @@ (DBUFieldInitFunc)field_init_double, false, (union DBUDefValue){ 0 }); + f->toDouble = (DBUFieldToDoubleFunc)field_get_double; }