results_get: Fix to return NULL if past the end of the results
authorCarl Worth <cworth@cworth.org>
Mon, 26 Oct 2009 12:14:51 +0000 (05:14 -0700)
committerCarl Worth <cworth@cworth.org>
Mon, 26 Oct 2009 12:14:51 +0000 (05:14 -0700)
We had documented both notmuch_thread_results_get and
notmuch_message_results_get to return NULL if (! has_more)
but we hadn't actually implemented that. Fix.

query.cc

index b454560ace1723b315d336c9e4165559a3b9b0d6..5fee854c8a6b8a22ff9da4bd04cbfd400a3c9f9c 100644 (file)
--- a/query.cc
+++ b/query.cc
@@ -221,6 +221,9 @@ notmuch_message_results_get (notmuch_message_results_t *results)
     Xapian::docid doc_id;
     notmuch_private_status_t status;
 
+    if (! notmuch_message_results_has_more (results))
+       return NULL;
+
     doc_id = *results->iterator;
 
     message = _notmuch_message_create (results,
@@ -260,6 +263,9 @@ notmuch_thread_results_get (notmuch_thread_results_t *results)
     notmuch_thread_t *thread;
     const char *thread_id;
 
+    if (! notmuch_thread_results_has_more (results))
+       return NULL;
+
     thread_id = (const char *) g_ptr_array_index (results->thread_ids,
                                                  results->index);