--- /dev/null
+Return-Path: <teythoon@jade-hamburg.de>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+ by olra.theworths.org (Postfix) with ESMTP id 1FC07431FAF\r
+ for <notmuch@notmuchmail.org>; Mon, 30 Apr 2012 12:57:15 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: 0\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none]\r
+ autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+ by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+ with ESMTP id kXI9xPa24klg for <notmuch@notmuchmail.org>;\r
+ Mon, 30 Apr 2012 12:57:10 -0700 (PDT)\r
+Received: from mail.cryptobitch.de (cryptobitch.de [88.198.7.68])\r
+ (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))\r
+ (No client certificate requested)\r
+ by olra.theworths.org (Postfix) with ESMTPS id ED603429E4A\r
+ for <notmuch@notmuchmail.org>; Mon, 30 Apr 2012 12:56:56 -0700 (PDT)\r
+Received: from mail.jade-hamburg.de (mail.jade-hamburg.de [85.183.11.228])\r
+ (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))\r
+ (No client certificate requested)\r
+ by mail.cryptobitch.de (Postfix) with ESMTPSA id 86F32584BAB\r
+ for <notmuch@notmuchmail.org>; Mon, 30 Apr 2012 21:56:55 +0200 (CEST)\r
+Received: by mail.jade-hamburg.de (Postfix, from userid 401)\r
+ id 09262DF2A2; Mon, 30 Apr 2012 21:56:55 +0200 (CEST)\r
+Received: from thinkbox.jade-hamburg.de (unknown [10.1.1.153])\r
+ (using TLSv1 with cipher AES256-SHA (256/256 bits))\r
+ (No client certificate requested) (Authenticated sender: teythoon)\r
+ by mail.jade-hamburg.de (Postfix) with ESMTPSA id A8391DF2A6;\r
+ Mon, 30 Apr 2012 21:55:53 +0200 (CEST)\r
+Received: from teythoon by thinkbox.jade-hamburg.de with local (Exim 4.77)\r
+ (envelope-from <teythoon@thinkbox.jade-hamburg.de>)\r
+ id 1SOwhM-0003yv-DJ; Mon, 30 Apr 2012 21:55:52 +0200\r
+From: Justus Winter <4winter@informatik.uni-hamburg.de>\r
+To: notmuch@notmuchmail.org\r
+Subject: [PATCH 5/5] go: format the souce code using gofmt\r
+Date: Mon, 30 Apr 2012 21:55:44 +0200\r
+Message-Id:\r
+ <1335815744-15258-5-git-send-email-4winter@informatik.uni-hamburg.de>\r
+X-Mailer: git-send-email 1.7.10\r
+In-Reply-To:\r
+ <1335815744-15258-1-git-send-email-4winter@informatik.uni-hamburg.de>\r
+References: <20120430195420.2528.48612@thinkbox.jade-hamburg.de>\r
+ <1335815744-15258-1-git-send-email-4winter@informatik.uni-hamburg.de>\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+ <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Mon, 30 Apr 2012 19:57:15 -0000\r
+\r
+Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>\r
+---\r
+ bindings/go/src/notmuch-addrlookup/addrlookup.go | 80 ++++++++++----------\r
+ bindings/go/src/notmuch/notmuch.go | 87 +++++++++++-----------\r
+ 2 files changed, 85 insertions(+), 82 deletions(-)\r
+\r
+diff --git a/bindings/go/src/notmuch-addrlookup/addrlookup.go b/bindings/go/src/notmuch-addrlookup/addrlookup.go\r
+index dabfeb0..651b9a6 100644\r
+--- a/bindings/go/src/notmuch-addrlookup/addrlookup.go\r
++++ b/bindings/go/src/notmuch-addrlookup/addrlookup.go\r
+@@ -22,18 +22,18 @@ type frequencies map[string]uint\r
+ \r
+ /* Used to sort the email addresses from most to least used */\r
+ func sort_by_freq(m1, m2 *mail_addr_freq) int {\r
+- if (m1.count[0] == m2.count[0] &&\r
++ if m1.count[0] == m2.count[0] &&\r
+ m1.count[1] == m2.count[1] &&\r
+- m1.count[2] == m2.count[2]) {\r
++ m1.count[2] == m2.count[2] {\r
+ return 0\r
+ }\r
+ \r
+- if (m1.count[0] > m2.count[0] ||\r
++ if m1.count[0] > m2.count[0] ||\r
+ m1.count[0] == m2.count[0] &&\r
+- m1.count[1] > m2.count[1] ||\r
++ m1.count[1] > m2.count[1] ||\r
+ m1.count[0] == m2.count[0] &&\r
+- m1.count[1] == m2.count[1] &&\r
+- m1.count[2] > m2.count[2]) {\r
++ m1.count[1] == m2.count[1] &&\r
++ m1.count[2] > m2.count[2] {\r
+ return -1\r
+ }\r
+ \r
+@@ -46,17 +46,17 @@ func (self *maddresses) Len() int {\r
+ return len(*self)\r
+ }\r
+ \r
+-func (self *maddresses) Less(i,j int) bool {\r
++func (self *maddresses) Less(i, j int) bool {\r
+ m1 := (*self)[i]\r
+ m2 := (*self)[j]\r
+- v := sort_by_freq(m1, m2)\r
+- if v<=0 {\r
++ v := sort_by_freq(m1, m2)\r
++ if v <= 0 {\r
+ return true\r
+ }\r
+ return false\r
+ }\r
+ \r
+-func (self *maddresses) Swap(i,j int) {\r
++func (self *maddresses) Swap(i, j int) {\r
+ (*self)[i], (*self)[j] = (*self)[j], (*self)[i]\r
+ }\r
+ \r
+@@ -66,7 +66,7 @@ func frequent_fullname(freqs frequencies) string {\r
+ fullname := ""\r
+ freqs_sz := len(freqs)\r
+ \r
+- for mail,freq := range freqs {\r
++ for mail, freq := range freqs {\r
+ if (freq > maxfreq && mail != "") || freqs_sz == 1 {\r
+ // only use the entry if it has a real name\r
+ // or if this is the only entry\r
+@@ -87,32 +87,32 @@ func addresses_by_frequency(msgs *notmuch.Messages, name string, pass uint, addr\r
+ pattern = `.*` + strings.ToLower(name) + `.*`\r
+ var re *regexp.Regexp = nil\r
+ var err error = nil\r
+- if re,err = regexp.Compile(pattern); err != nil {\r
++ if re, err = regexp.Compile(pattern); err != nil {\r
+ log.Printf("error: %v\n", err)\r
+ return &freqs\r
+ }\r
+- \r
++\r
+ headers := []string{"from"}\r
+ if pass == 1 {\r
+ headers = append(headers, "to", "cc", "bcc")\r
+ }\r
+ \r
+- for ;msgs.Valid();msgs.MoveToNext() {\r
++ for ; msgs.Valid(); msgs.MoveToNext() {\r
+ msg := msgs.Get()\r
+ //println("==> msg [", msg.GetMessageId(), "]")\r
+- for _,header := range headers {\r
++ for _, header := range headers {\r
+ froms := strings.ToLower(msg.GetHeader(header))\r
+ //println(" froms: ["+froms+"]")\r
+- for _,from := range strings.Split(froms, ",") {\r
++ for _, from := range strings.Split(froms, ",") {\r
+ from = strings.Trim(from, " ")\r
+ match := re.FindString(from)\r
+ //println(" -> match: ["+match+"]")\r
+- occ,ok := freqs[match]\r
++ occ, ok := freqs[match]\r
+ if !ok {\r
+ freqs[match] = 0\r
+ occ = 0\r
+ }\r
+- freqs[match] = occ+1\r
++ freqs[match] = occ + 1\r
+ }\r
+ }\r
+ }\r
+@@ -125,7 +125,7 @@ func search_address_passes(queries [3]*notmuch.Query, name string) []string {\r
+ addr_to_realname := make(map[string]*frequencies)\r
+ \r
+ var pass uint = 0 // 0-based\r
+- for _,query := range queries {\r
++ for _, query := range queries {\r
+ if query == nil {\r
+ //println("**warning: idx [",idx,"] contains a nil query")\r
+ continue\r
+@@ -133,9 +133,9 @@ func search_address_passes(queries [3]*notmuch.Query, name string) []string {\r
+ msgs := query.SearchMessages()\r
+ ht := addresses_by_frequency(msgs, name, pass, &addr_to_realname)\r
+ for addr, count := range *ht {\r
+- freq,ok := addr_freq[addr]\r
++ freq, ok := addr_freq[addr]\r
+ if !ok {\r
+- freq = &mail_addr_freq{addr:addr, count:[3]uint{0,0,0}}\r
++ freq = &mail_addr_freq{addr: addr, count: [3]uint{0, 0, 0}}\r
+ }\r
+ freq.count[pass] = count\r
+ addr_freq[addr] = freq\r
+@@ -154,8 +154,8 @@ func search_address_passes(queries [3]*notmuch.Query, name string) []string {\r
+ }\r
+ sort.Sort(&addrs)\r
+ \r
+- for _,addr := range addrs {\r
+- freqs,ok := addr_to_realname[addr.addr]\r
++ for _, addr := range addrs {\r
++ freqs, ok := addr_to_realname[addr.addr]\r
+ if ok {\r
+ val = append(val, frequent_fullname(*freqs))\r
+ } else {\r
+@@ -187,29 +187,29 @@ func new_address_matcher() *address_matcher {\r
+ home = os.Getenv("HOME")\r
+ }\r
+ \r
+- if cfg,err = config.ReadDefault(path.Join(home, ".notmuch-config")); err != nil {\r
+- log.Fatalf("error loading config file:",err)\r
++ if cfg, err = config.ReadDefault(path.Join(home, ".notmuch-config")); err != nil {\r
++ log.Fatalf("error loading config file:", err)\r
+ }\r
+ \r
+- db_path,_ := cfg.String("database", "path")\r
+- primary_email,_ := cfg.String("user", "primary_email")\r
+- addrbook_tag,err := cfg.String("user", "addrbook_tag")\r
++ db_path, _ := cfg.String("database", "path")\r
++ primary_email, _ := cfg.String("user", "primary_email")\r
++ addrbook_tag, err := cfg.String("user", "addrbook_tag")\r
+ if err != nil {\r
+ addrbook_tag = "addressbook"\r
+ }\r
+ \r
+- self := &address_matcher{db:nil, \r
+- user_db_path:db_path,\r
+- user_primary_email:primary_email,\r
+- user_addrbook_tag:addrbook_tag}\r
++ self := &address_matcher{db: nil,\r
++ user_db_path: db_path,\r
++ user_primary_email: primary_email,\r
++ user_addrbook_tag: addrbook_tag}\r
+ return self\r
+ }\r
+ \r
+ func (self *address_matcher) run(name string) {\r
+ queries := [3]*notmuch.Query{}\r
+- \r
++\r
+ // open the database\r
+- self.db = notmuch.OpenDatabase(self.user_db_path, \r
++ self.db = notmuch.OpenDatabase(self.user_db_path,\r
+ notmuch.DATABASE_MODE_READ_ONLY)\r
+ \r
+ // pass 1: look at all from: addresses with the address book tag\r
+@@ -222,7 +222,7 @@ func (self *address_matcher) run(name string) {\r
+ // pass 2: look at all to: addresses sent from our primary mail\r
+ query = ""\r
+ if name != "" {\r
+- query = "to:"+name+"*"\r
++ query = "to:" + name + "*"\r
+ }\r
+ if self.user_primary_email != "" {\r
+ query = query + " from:" + self.user_primary_email\r
+@@ -230,17 +230,17 @@ func (self *address_matcher) run(name string) {\r
+ queries[1] = self.db.CreateQuery(query)\r
+ \r
+ // if that leads only to a few hits, we check every from too\r
+- if queries[0].CountMessages() + queries[1].CountMessages() < 10 {\r
++ if queries[0].CountMessages()+queries[1].CountMessages() < 10 {\r
+ query = ""\r
+ if name != "" {\r
+- query = "from:"+name+"*"\r
++ query = "from:" + name + "*"\r
+ }\r
+ queries[2] = self.db.CreateQuery(query)\r
+ }\r
+- \r
++\r
+ // actually retrieve and sort addresses\r
+ results := search_address_passes(queries, name)\r
+- for _,v := range results {\r
++ for _, v := range results {\r
+ if v != "" && v != "\n" {\r
+ fmt.Println(v)\r
+ }\r
+@@ -256,4 +256,4 @@ func main() {\r
+ name = os.Args[1]\r
+ }\r
+ app.run(name)\r
+-}\r
+\ No newline at end of file\r
++}\r
+diff --git a/bindings/go/src/notmuch/notmuch.go b/bindings/go/src/notmuch/notmuch.go\r
+index 524c956..46f4484 100644\r
+--- a/bindings/go/src/notmuch/notmuch.go\r
++++ b/bindings/go/src/notmuch/notmuch.go\r
+@@ -15,24 +15,25 @@ import "unsafe"\r
+ \r
+ // Status codes used for the return values of most functions\r
+ type Status C.notmuch_status_t\r
++\r
+ const (\r
+ STATUS_SUCCESS Status = 0\r
+ STATUS_OUT_OF_MEMORY\r
+- STATUS_READ_ONLY_DATABASE\r
+- STATUS_XAPIAN_EXCEPTION\r
+- STATUS_FILE_ERROR\r
+- STATUS_FILE_NOT_EMAIL\r
+- STATUS_DUPLICATE_MESSAGE_ID\r
+- STATUS_NULL_POINTER\r
+- STATUS_TAG_TOO_LONG\r
+- STATUS_UNBALANCED_FREEZE_THAW\r
+-\r
+- STATUS_LAST_STATUS\r
++ STATUS_READ_ONLY_DATABASE\r
++ STATUS_XAPIAN_EXCEPTION\r
++ STATUS_FILE_ERROR\r
++ STATUS_FILE_NOT_EMAIL\r
++ STATUS_DUPLICATE_MESSAGE_ID\r
++ STATUS_NULL_POINTER\r
++ STATUS_TAG_TOO_LONG\r
++ STATUS_UNBALANCED_FREEZE_THAW\r
++\r
++ STATUS_LAST_STATUS\r
+ )\r
+ \r
+ func (self Status) String() string {\r
+ var p *C.char\r
+- \r
++\r
+ // p is read-only\r
+ p = C.notmuch_status_to_string(C.notmuch_status_t(self))\r
+ if p != nil {\r
+@@ -82,9 +83,10 @@ type Filenames struct {\r
+ }\r
+ \r
+ type DatabaseMode C.notmuch_database_mode_t\r
++\r
+ const (\r
+- DATABASE_MODE_READ_ONLY DatabaseMode = 0\r
+- DATABASE_MODE_READ_WRITE\r
++ DATABASE_MODE_READ_ONLY DatabaseMode = 0\r
++ DATABASE_MODE_READ_WRITE\r
+ )\r
+ \r
+ // Create a new, empty notmuch database located at 'path'\r
+@@ -97,7 +99,7 @@ func NewDatabase(path string) *Database {\r
+ return nil\r
+ }\r
+ \r
+- self := &Database{db:nil}\r
++ self := &Database{db: nil}\r
+ self.db = C.notmuch_database_create(c_path)\r
+ if self.db == nil {\r
+ return nil\r
+@@ -131,7 +133,7 @@ func OpenDatabase(path string, mode DatabaseMode) *Database {\r
+ return nil\r
+ }\r
+ \r
+- self := &Database{db:nil}\r
++ self := &Database{db: nil}\r
+ self.db = C.notmuch_database_open(c_path, C.notmuch_database_mode_t(mode))\r
+ if self.db == nil {\r
+ return nil\r
+@@ -148,9 +150,9 @@ func (self *Database) Close() {\r
+ /* Return the database path of the given database.\r
+ */\r
+ func (self *Database) GetPath() string {\r
+- \r
+- /* The return value is a string owned by notmuch so should not be\r
+- * modified nor freed by the caller. */\r
++\r
++ /* The return value is a string owned by notmuch so should not be\r
++ * modified nor freed by the caller. */\r
+ var p *C.char = C.notmuch_database_get_path(self.db)\r
+ if p != nil {\r
+ s := C.GoString(p)\r
+@@ -180,7 +182,6 @@ func (self *Database) NeedsUpgrade() bool {\r
+ \r
+ // TODO: notmuch_database_upgrade\r
+ \r
+-\r
+ /* Retrieve a directory object from the database for 'path'.\r
+ *\r
+ * Here, 'path' should be a path relative to the path of 'database'\r
+@@ -201,7 +202,7 @@ func (self *Database) GetDirectory(path string) *Directory {\r
+ if c_dir == nil {\r
+ return nil\r
+ }\r
+- return &Directory{dir:c_dir}\r
++ return &Directory{dir: c_dir}\r
+ }\r
+ \r
+ /* Add a new message to the given notmuch database.\r
+@@ -244,8 +245,7 @@ func (self *Database) GetDirectory(path string) *Directory {\r
+ * NOTMUCH_STATUS_READ_ONLY_DATABASE: Database was opened in read-only\r
+ * mode so no message can be added.\r
+ */\r
+-func \r
+-(self *Database) AddMessage(fname string) (*Message, Status) {\r
++func (self *Database) AddMessage(fname string) (*Message, Status) {\r
+ var c_fname *C.char = C.CString(fname)\r
+ defer C.free(unsafe.Pointer(c_fname))\r
+ \r
+@@ -256,7 +256,7 @@ func\r
+ var c_msg *C.notmuch_message_t = new(C.notmuch_message_t)\r
+ st := Status(C.notmuch_database_add_message(self.db, c_fname, &c_msg))\r
+ \r
+- return &Message{message:c_msg}, st\r
++ return &Message{message: c_msg}, st\r
+ }\r
+ \r
+ /* Remove a message from the given notmuch database.\r
+@@ -284,7 +284,7 @@ func\r
+ * mode so no message can be removed.\r
+ */\r
+ func (self *Database) RemoveMessage(fname string) Status {\r
+- \r
++\r
+ var c_fname *C.char = C.CString(fname)\r
+ defer C.free(unsafe.Pointer(c_fname))\r
+ \r
+@@ -309,7 +309,7 @@ func (self *Database) RemoveMessage(fname string) Status {\r
+ * * A Xapian exception occurs\r
+ */\r
+ func (self *Database) FindMessage(message_id string) (*Message, Status) {\r
+- \r
++\r
+ var c_msg_id *C.char = C.CString(message_id)\r
+ defer C.free(unsafe.Pointer(c_msg_id))\r
+ \r
+@@ -317,7 +317,7 @@ func (self *Database) FindMessage(message_id string) (*Message, Status) {\r
+ return nil, STATUS_OUT_OF_MEMORY\r
+ }\r
+ \r
+- msg := &Message{message:nil}\r
++ msg := &Message{message: nil}\r
+ st := Status(C.notmuch_database_find_message(self.db, c_msg_id, &msg.message))\r
+ if st != STATUS_SUCCESS {\r
+ return nil, st\r
+@@ -337,7 +337,7 @@ func (self *Database) GetAllTags() *Tags {\r
+ if tags == nil {\r
+ return nil\r
+ }\r
+- return &Tags{tags:tags}\r
++ return &Tags{tags: tags}\r
+ }\r
+ \r
+ /* Create a new query for 'database'.\r
+@@ -365,7 +365,7 @@ func (self *Database) GetAllTags() *Tags {\r
+ * Will return NULL if insufficient memory is available.\r
+ */\r
+ func (self *Database) CreateQuery(query string) *Query {\r
+- \r
++\r
+ var c_query *C.char = C.CString(query)\r
+ defer C.free(unsafe.Pointer(c_query))\r
+ \r
+@@ -377,11 +377,12 @@ func (self *Database) CreateQuery(query string) *Query {\r
+ if q == nil {\r
+ return nil\r
+ }\r
+- return &Query{query:q}\r
++ return &Query{query: q}\r
+ }\r
+ \r
+ /* Sort values for notmuch_query_set_sort */\r
+ type Sort C.notmuch_sort_t\r
++\r
+ const (\r
+ SORT_OLDEST_FIRST Sort = 0\r
+ SORT_NEWEST_FIRST\r
+@@ -394,7 +395,7 @@ func (self *Query) String() string {\r
+ // FIXME: do we own 'q' or not ?\r
+ q := C.notmuch_query_get_query_string(self.query)\r
+ //defer C.free(unsafe.Pointer(q))\r
+- \r
++\r
+ if q != nil {\r
+ s := C.GoString(q)\r
+ return s\r
+@@ -456,7 +457,7 @@ func (self *Query) SearchThreads() *Threads {\r
+ if threads == nil {\r
+ return nil\r
+ }\r
+- return &Threads{threads:threads}\r
++ return &Threads{threads: threads}\r
+ }\r
+ \r
+ /* Execute a query for messages, returning a notmuch_messages_t object\r
+@@ -502,7 +503,7 @@ func (self *Query) SearchMessages() *Messages {\r
+ if msgs == nil {\r
+ return nil\r
+ }\r
+- return &Messages{messages:msgs}\r
++ return &Messages{messages: msgs}\r
+ }\r
+ \r
+ /* Destroy a notmuch_query_t along with any associated resources.\r
+@@ -604,7 +605,7 @@ func (self *Messages) Get() *Message {\r
+ if msg == nil {\r
+ return nil\r
+ }\r
+- return &Message{message:msg}\r
++ return &Message{message: msg}\r
+ }\r
+ \r
+ /* Move the 'messages' iterator to the next message.\r
+@@ -656,7 +657,7 @@ func (self *Messages) CollectTags() *Tags {\r
+ if tags == nil {\r
+ return nil\r
+ }\r
+- return &Tags{tags:tags}\r
++ return &Tags{tags: tags}\r
+ }\r
+ \r
+ /* Get the message ID of 'message'.\r
+@@ -696,14 +697,14 @@ func (self *Message) GetMessageId() string {\r
+ * message belongs to a single thread.\r
+ */\r
+ func (self *Message) GetThreadId() string {\r
+- \r
++\r
+ if self.message == nil {\r
+ return ""\r
+ }\r
+ id := C.notmuch_message_get_thread_id(self.message)\r
+ // we dont own id\r
+ // defer C.free(unsafe.Pointer(id))\r
+- \r
++\r
+ if id == nil {\r
+ return ""\r
+ }\r
+@@ -736,7 +737,7 @@ func (self *Message) GetReplies() *Messages {\r
+ if msgs == nil {\r
+ return nil\r
+ }\r
+- return &Messages{messages:msgs}\r
++ return &Messages{messages: msgs}\r
+ }\r
+ \r
+ /* Get a filename for the email corresponding to 'message'.\r
+@@ -760,7 +761,7 @@ func (self *Message) GetFileName() string {\r
+ fname := C.notmuch_message_get_filename(self.message)\r
+ // we dont own fname\r
+ // defer C.free(unsafe.Pointer(fname))\r
+- \r
++\r
+ if fname == nil {\r
+ return ""\r
+ }\r
+@@ -769,6 +770,7 @@ func (self *Message) GetFileName() string {\r
+ }\r
+ \r
+ type Flag C.notmuch_message_flag_t\r
++\r
+ const (\r
+ MESSAGE_FLAG_MATCH Flag = 0\r
+ )\r
+@@ -815,16 +817,16 @@ func (self *Message) GetHeader(header string) string {\r
+ if self.message == nil {\r
+ return ""\r
+ }\r
+- \r
++\r
+ var c_header *C.char = C.CString(header)\r
+ defer C.free(unsafe.Pointer(c_header))\r
+- \r
++\r
+ /* we dont own value */\r
+ value := C.notmuch_message_get_header(self.message, c_header)\r
+ if value == nil {\r
+ return ""\r
+ }\r
+- \r
++\r
+ return C.GoString(value)\r
+ }\r
+ \r
+@@ -866,7 +868,7 @@ func (self *Message) GetTags() *Tags {\r
+ if tags == nil {\r
+ return nil\r
+ }\r
+- return &Tags{tags:tags}\r
++ return &Tags{tags: tags}\r
+ }\r
+ \r
+ /* The longest possible tag value. */\r
+@@ -1123,4 +1125,5 @@ func (self *Filenames) Destroy() {\r
+ }\r
+ C.notmuch_filenames_destroy(self.fnames)\r
+ }\r
++\r
+ /* EOF */\r
+-- \r
+1.7.10\r
+\r