}
-#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
export_euidindex, // CDB_EUIDINDEX
export_usersbynumber, // CDB_USERSBYNUMBER
zero_function, // CDB_UNUSED1 (obsolete)
- zero_function // CDB_CONFIG
+ export_config // CDB_CONFIG
};