From a2e385ea5ffaa6371946cf3e3b349d14b0d83325 Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Tue, 11 Jul 2023 17:22:14 -0900 Subject: [PATCH] ctdldump: dump config records. This is now functionally complete. --- citadel/utils/ctdldump.c | 31 ++++++++++--------------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/citadel/utils/ctdldump.c b/citadel/utils/ctdldump.c index ae884a1e5..a5c64274f 100644 --- a/citadel/utils/ctdldump.c +++ b/citadel/utils/ctdldump.c @@ -337,28 +337,17 @@ void export_usersbynumber(int which_cdb, DBT *in_key, DBT *in_data) { } -#if 0 // export function for a config record -void export_config(int which_cdb, DBT *in_key, DBT *in_data, DBT *out_key, DBT *out_data) { - - // the key is a string - out_key->size = in_key->size; - out_key->data = realloc(out_key->data, out_key->size + 1); - memcpy(out_key->data, in_key->data, in_key->size); - char *k = (char *)out_key->data; - k[out_key->size] = 0; - - // the data is a pair of strings - out_data->size = in_data->size; - out_data->data = realloc(out_data->data, out_data->size + 1); - memcpy(out_data->data, in_data->data, in_data->size); - char *d = (char *)out_data->data; - d[out_data->size] = 0; - - // please excuse my friend, he isn't null terminated - // printf("\033[32m\033[1mConfig entry: %s -> %s\033[0m\n", (char *)out_key->data, (char *)out_data->data+strlen(out_data->data)+1); +void export_config(int which_cdb, DBT *in_key, DBT *in_data) { + + size_t keylen = in_key->size; + printf("config|"); + fwrite(in_data->data, keylen, 1, stdout); + + printf("|"); + fwrite(in_data->data + keylen, in_data->size - keylen, 1, stdout); + printf("|\n"); } -#endif // For obsolete databases, zero all the output @@ -381,7 +370,7 @@ void (*export_functions[])(int which_cdb, DBT *in_key, DBT *in_data) = { export_euidindex, // CDB_EUIDINDEX export_usersbynumber, // CDB_USERSBYNUMBER zero_function, // CDB_UNUSED1 (obsolete) - zero_function // CDB_CONFIG + export_config // CDB_CONFIG }; -- 2.39.2