go: Update to the current notmuch_database_find_message API
authorAustin Clements <amdragon@MIT.EDU>
Sat, 28 Apr 2012 21:45:18 +0000 (17:45 -0400)
committerDavid Bremner <bremner@debian.org>
Fri, 4 May 2012 11:49:43 +0000 (08:49 -0300)
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

index d32901d4f5eaccfc768f159a8ea9ec872f4ed1c3..de9de23c0e8cad21f4c587a574aac50ce696b451 100644 (file)
@@ -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.