aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThorsten Töpper <atsutane@freethoughts.de>2026-02-28 22:25:33 +0100
committerThorsten Töpper <atsutane@freethoughts.de>2026-02-28 22:25:33 +0100
commit62d0bf1f6209563ce28bd3f3931af401404ca24b (patch)
tree954e1b4f12d42fd9043fcf54f74d685751fa7278
parent55d4d6adc4c7e9e849229b24bcf75910d548ff44 (diff)
downloadduplicate_finder-62d0bf1f6209563ce28bd3f3931af401404ca24b.tar.gz
duplicate_finder-62d0bf1f6209563ce28bd3f3931af401404ca24b.tar.bz2
dump: filenames
-rw-r--r--include/database_interaction.h1
-rw-r--r--src/database_interaction.c37
-rw-r--r--src/duplicate_finder.c5
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();