X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=bindings%2Fgo%2Fpkg%2Fnotmuch.go;h=de9de23c0e8cad21f4c587a574aac50ce696b451;hp=d32901d4f5eaccfc768f159a8ea9ec872f4ed1c3;hb=ce53850290e81ace34af5a1d418cc8941d0d3b8f;hpb=fcfb619b44b0011ac6bc557e6cbe2d516bc58f8a diff --git a/bindings/go/pkg/notmuch.go b/bindings/go/pkg/notmuch.go index d32901d4..de9de23c 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.