-// Don't run this. It doesn't work and if you try to run it you will immediately die.
+// Dump the Citadel database to a flat file that can be restored by ctdlload on any architecture
//
-// Copyright (c) 2023 by Art Cancro citadel.org
+// Copyright (c) 2023-2024 by Art Cancro citadel.org
//
// This program is open source software. Use, duplication, or disclosure
// is subject to the terms of the GNU General Public License, version 3.
int num_bad_rows = 0;
cdb_rewind(which_cdb);
- while (ckv = cdb_next_item(which_cdb), ckv.val.ptr!=NULL) {
+ while (ckv = cdb_next_item(which_cdb), ckv.val.ptr!=NULL) { // always read through to the end
// Call the export function registered to this table
export_functions[which_cdb](which_cdb, ckv);
}
char *ctdldir = CTDLDIR;
// display the greeting
- fprintf(stderr, "\033[44m\033[33m\033[1m \033[K\033[0m\n"
- "\033[44m\033[33m\033[1m DB Dump utility for Citadel \033[K\033[0m\n"
- "\033[44m\033[33m\033[1m Copyright (c) 2023 by citadel.org et al. \033[K\033[0m\n"
- "\033[44m\033[33m\033[1m This program is open source software. Use, duplication, or disclosure \033[K\033[0m\n"
- "\033[44m\033[33m\033[1m is subject to the terms of the GNU General Public license v3. \033[K\033[0m\n"
- "\033[44m\033[33m\033[1m \033[K\033[0m\n");
+ fprintf(stderr, "\033[44m\033[1m"
+ "╔════════════════════════════════════════════════════════════════════════╗\n"
+ "║ DB Dump utility for Citadel ║\n"
+ "║ Copyright (c) 2023-2024 by citadel.org et al. ║\n"
+ "║ This program is open source software. Use, duplication, or disclosure ║\n"
+ "║ is subject to the terms of the GNU General Public license v3. ║\n"
+ "╚════════════════════════════════════════════════════════════════════════╝\033[0m\n"
+ );
// Parse command line
int a;
}
else {
fprintf(stderr, "ctdldump: usage: ctdldump -y -h[citadel_dir] >[dump_file]\n");
- fprintf(stderr, " [citadel_dir] is your database directory, usually /usr/local/citadel\n");
+ fprintf(stderr, " -y : yes, I know this program can do damage and I want to run it anyway.\n");
+ fprintf(stderr, " -h : [citadel_dir] is your server directory, usually /usr/local/citadel\n");
fprintf(stderr, " Please read [ https://www.citadel.org/dump-and-load.html ] to learn how to proceed.\n");
exit(1);
}