From: Art Cancro Date: Wed, 12 Jul 2023 02:22:14 +0000 (-0900) Subject: ctdldump: dump config records. This is now functionally complete. X-Git-Tag: v981~25 X-Git-Url: https://code.citadel.org/?a=commitdiff_plain;h=a2e385ea5ffaa6371946cf3e3b349d14b0d83325;p=citadel.git ctdldump: dump config records. This is now functionally complete. --- 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 };