aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Carl Worth <cworth@cworth.org>2009-11-12 20:31:22 -0800
committerGravatar Carl Worth <cworth@cworth.org>2009-11-12 20:31:22 -0800
commitbbf4b8e4aec69b5684587b77bd0af743afd61eb1 (patch)
tree7cc224d9a22a1b9de93c5fcaa978f9d47364dcd4
parente4a7c2b8703280e93b205965d7df1b7dda8a0bf7 (diff)
notmuch_query_search_threads: Avoid returning more threads than asked for.
I thought it would be safe enough to return a few extra threads, (since we happened to already get the relevant messages out of the database). The problem is that then requires the caller to carefully read the number of threads returned and adjust its next "first" value accordingly. The interface is much simpler to use if we simply return exactly what is asked for and no more.
-rw-r--r--lib/query.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/query.cc b/lib/query.cc
index 4b4c80f4..381529b5 100644
--- a/lib/query.cc
+++ b/lib/query.cc
@@ -237,6 +237,9 @@ notmuch_query_search_threads (notmuch_query_t *query,
notmuch_message_destroy (message);
messages_seen++;
+
+ if (max_threads >= 0 && threads_seen >= first + max_threads)
+ break;
}
/* Stop if we're not seeing any more messages. */