diff options
| author | Thorsten Töpper <atsutane@freethoughts.de> | 2026-02-28 22:25:33 +0100 |
|---|---|---|
| committer | Thorsten Töpper <atsutane@freethoughts.de> | 2026-02-28 22:25:33 +0100 |
| commit | 62d0bf1f6209563ce28bd3f3931af401404ca24b (patch) | |
| tree | 954e1b4f12d42fd9043fcf54f74d685751fa7278 | |
| parent | 55d4d6adc4c7e9e849229b24bcf75910d548ff44 (diff) | |
| download | duplicate_finder-62d0bf1f6209563ce28bd3f3931af401404ca24b.tar.gz duplicate_finder-62d0bf1f6209563ce28bd3f3931af401404ca24b.tar.bz2 | |
dump: filenames
| -rw-r--r-- | include/database_interaction.h | 1 | ||||
| -rw-r--r-- | src/database_interaction.c | 37 | ||||
| -rw-r--r-- | src/duplicate_finder.c | 5 |
3 files changed, 43 insertions, 0 deletions
diff --git a/include/database_interaction.h b/include/database_interaction.h index a3107ef..5ff6f66 100644 --- a/include/database_interaction.h +++ b/include/database_interaction.h @@ -38,6 +38,7 @@ int dbi_print_fileinfo_resolved(FILE *fd); int dbi_print_identical_hashes(FILE *fd); int dbi_print_identical_filenames(FILE *fd); int dbi_print_fullpaths(FILE *out); +int dbi_print_filenames(FILE *out); int64_t *dbi_select_hashes_all_ids(); 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(); |
