From 62d0bf1f6209563ce28bd3f3931af401404ca24b Mon Sep 17 00:00:00 2001 From: Thorsten Töpper Date: Sat, 28 Feb 2026 22:25:33 +0100 Subject: dump: filenames --- src/database_interaction.c | 37 +++++++++++++++++++++++++++++++++++++ src/duplicate_finder.c | 5 +++++ 2 files changed, 42 insertions(+) (limited to 'src') diff --git a/src/database_interaction.c b/src/database_interaction.c index 2b5a3f8..5188a35 100644 --- a/src/database_interaction.c +++ b/src/database_interaction.c @@ -1321,9 +1321,46 @@ int dbi_print_fullpaths(FILE *out) { sqlite3_reset(st); return rc; +} + + +int dbi_print_filenames(FILE *out) { + int rc = 0; + int strc = 0; + FILE *fd = out; + const unsigned char *txt = NULL; + sqlite3_stmt *st = select_filename_complete_table; + + DBCONN_CHECK(-1); + + if (fd == NULL) { fd = stdout; } + + sqlite3_clear_bindings(st); + sqlite3_reset(st); + do { + strc = sqlite3_step(st); + + if (strc == SQLITE_DONE) { + break; + } + if (strc != SQLITE_ROW) { + LOGERR("ERROR: Failed step to get filenames.name: %s\n", sqlite3_errmsg(dbconn)); + return -1; /* drop-it */ + } + + txt = sqlite3_column_text(st, 1); /* filenames.name */ + fprintf(fd, "%s\n", txt); + } while (strc == SQLITE_ROW); + + + sqlite3_clear_bindings(st); + sqlite3_reset(st); + + return rc; } + #if 0 *select_fileinfo_by_id, *select_fileinfo_by_id_resolved, diff --git a/src/duplicate_finder.c b/src/duplicate_finder.c index 51bac49..a1f9da3 100644 --- a/src/duplicate_finder.c +++ b/src/duplicate_finder.c @@ -104,6 +104,11 @@ int dump(int argc, char **argv, int pos) { strcmp("fileinfos", argv[i]) == 0) { dbi_print_fileinfo_resolved(stdout); } + + if (strcmp("filenames", argv[i]) == 0) { + dbi_print_filenames(stdout); + } + } dbi_close(); -- cgit v1.3