aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/query.cc
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 /lib/query.cc
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.
Diffstat (limited to 'lib/query.cc')
-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. */