[PATCH] go: Update to the current notmuch_database_find_message API

Austin Clements amdragon at MIT.EDU
Sat Apr 28 14:45:18 PDT 2012


The signature of notmuch_database_find_message was changed in 02a30767
to report errors and the Go bindings were never updated.  This brings
the Go bindings in sync with that change and at least makes them
compile with Go r60.3, the last release before Go 1.
---
 bindings/go/pkg/notmuch.go |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/bindings/go/pkg/notmuch.go b/bindings/go/pkg/notmuch.go
index c6844ef..8fe400b 100644
--- a/bindings/go/pkg/notmuch.go
+++ b/bindings/go/pkg/notmuch.go
@@ -306,20 +306,21 @@ func (self *Database) RemoveMessage(fname string) Status {
  *	* An out-of-memory situation occurs
  *	* A Xapian exception occurs
  */
-func (self *Database) FindMessage(message_id string) *Message {
+func (self *Database) FindMessage(message_id string) (*Message, Status) {
 	
 	var c_msg_id *C.char = C.CString(message_id)
 	defer C.free(unsafe.Pointer(c_msg_id))
 
 	if c_msg_id == nil {
-		return nil
+		return nil, STATUS_OUT_OF_MEMORY
 	}
 
-	msg := C.notmuch_database_find_message(self.db, c_msg_id)
-	if msg == nil {
-		return nil
+	msg := &Message{message:nil}
+	st := Status(C.notmuch_database_find_message(self.db, c_msg_id, &msg.message))
+	if st != STATUS_SUCCESS {
+		return nil, st
 	}
-	return &Message{message:msg}
+	return msg, st
 }
 
 /* Return a list of all tags found in the database.
-- 
1.7.9.1



More information about the notmuch mailing list