From 1ea68990988240aa076babc64be3f471471008f1 Mon Sep 17 00:00:00 2001 From: Alex 'AdUser' Z Date: Sun, 5 Feb 2017 14:45:35 +1000 Subject: [PATCH] * don't include source sample to search results --- src/database.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/database.c b/src/database.c index 4c4a798..f9ad624 100644 --- a/src/database.c +++ b/src/database.c @@ -376,7 +376,7 @@ simdb_search_free(simdb_search_t *search) { } int -simdb_search(simdb_t *db, simdb_search_t *search, simdb_urec_t *sample) { +simdb_search(simdb_t *db, simdb_search_t *search, simdb_urec_t *sample, int skip) { simdb_match_t *matches; simdb_match_t match; simdb_urec_t *rec, *data = NULL; @@ -419,6 +419,8 @@ simdb_search(simdb_t *db, simdb_search_t *search, simdb_urec_t *sample) { for (int i = 0; i < ret; i++, rec++) { if (!rec->used) continue; /* record missing */ + if (num + i == skip) + continue; /* source sample */ match.d_ratio = 0.0; match.d_bitmap = 0.0; @@ -486,7 +488,7 @@ simdb_search_byid(simdb_t *db, simdb_search_t *search, int num) { if ((ret = simdb_read(db, num, 1, &sample)) < 1) return ret; - ret = simdb_search(db, search, sample); + ret = simdb_search(db, search, sample, num); FREE(sample); return ret; @@ -506,7 +508,7 @@ simdb_search_file(simdb_t *db, simdb_search_t *search, const char *path) { if ((sample = simdb_record_create(path)) == NULL) return SIMDB_ERR_SAMPLER; - ret = simdb_search(db, search, sample); + ret = simdb_search(db, search, sample, 0); FREE(sample); return ret;