From 234ab677934cd67b336fb24533a5f19afad2ec48 Mon Sep 17 00:00:00 2001 From: Frank Lahm Date: Fri, 18 Jan 2013 17:30:19 +0100 Subject: [PATCH] Add checking for kMDQueryItemArray to Tracker SPARQL too --- etc/spotlight/slmod_sparql.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/etc/spotlight/slmod_sparql.c b/etc/spotlight/slmod_sparql.c index ec2943b2..fd0f9845 100644 --- a/etc/spotlight/slmod_sparql.c +++ b/etc/spotlight/slmod_sparql.c @@ -182,6 +182,17 @@ EC_CLEANUP: EC_EXIT; } +static int cnid_cmp_fn(const void *p1, const void *p2) +{ + const uint64_t *cnid1 = p1, *cnid2 = p2; + if (*cnid1 == *cnid2) + return 0; + if (*cnid1 < *cnid2) + return -1; + else + return 1; +} + static int sl_mod_fetch_result(void *p) { EC_INIT; @@ -243,6 +254,11 @@ static int sl_mod_fetch_result(void *p) LOG(log_debug, logtype_sl, "Result %d: CNID: %" PRIu32 ", path: \"%s\"", i, ntohl(id), path); uint64 = ntohl(id); + if (slq->slq_cnids) { + if (!bsearch(&uint64, slq->slq_cnids, slq->slq_cnids_num, sizeof(uint64_t), cnid_cmp_fn)) + goto loop_cleanup; + } + dalloc_add_copy(cnids->ca_cnids, &uint64, uint64_t); add_filemeta(slq->slq_reqinfo, fm_array, id, path); -- 2.39.2