* [PATCH] go: update bindings to compile with notmuch 0.25
@ 2017-08-08 9:58 Kamil Klimkiewicz
2017-08-08 13:40 ` David Bremner
2017-08-12 14:15 ` David Bremner
0 siblings, 2 replies; 3+ messages in thread
From: Kamil Klimkiewicz @ 2017-08-08 9:58 UTC (permalink / raw)
To: notmuch
Attached is a simple patch that fixes go bindings to compile with
notmuch 0.25. Please note it doesn't change the go API, ie. go methods
*don't* return Status values. I am not sure you also want to break go
API with the update. If you do, I can update the patch to return
go-idiomatic (*Messages, Status) tuple.
---
contrib/go/src/notmuch/notmuch.go | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/contrib/go/src/notmuch/notmuch.go
b/contrib/go/src/notmuch/notmuch.go
index 2d684311..936f927c 100644
--- a/contrib/go/src/notmuch/notmuch.go
+++ b/contrib/go/src/notmuch/notmuch.go
@@ -455,11 +455,12 @@ func (self *Query) GetSort() Sort {
* If a Xapian exception occurs this function will return NULL.
*/
func (self *Query) SearchThreads() *Threads {
- threads := C.notmuch_query_search_threads(self.query)
- if threads == nil {
+ var threads Threads
+ C.notmuch_query_search_threads(self.query, &threads.threads)
+ if threads.threads == nil {
return nil
}
- return &Threads{threads: threads}
+ return &threads
}
/* Execute a query for messages, returning a notmuch_messages_t object
@@ -501,11 +502,12 @@ func (self *Query) SearchThreads() *Threads {
* If a Xapian exception occurs this function will return NULL.
*/
func (self *Query) SearchMessages() *Messages {
- msgs := C.notmuch_query_search_messages(self.query)
- if msgs == nil {
+ var messages Messages
+ C.notmuch_query_search_messages(self.query, &messages.messages)
+ if messages.messages == nil {
return nil
}
- return &Messages{messages: msgs}
+ return &messages
}
/* Destroy a notmuch_query_t along with any associated resources.
@@ -531,7 +533,9 @@ func (self *Query) Destroy() {
* printing a message).
*/
func (self *Query) CountMessages() uint {
- return uint(C.notmuch_query_count_messages(self.query))
+ var count C.uint
+ C.notmuch_query_count_messages(self.query, &count)
+ return uint(count)
}
/* Is the given 'threads' iterator pointing at a valid thread.
--
2.14.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] go: update bindings to compile with notmuch 0.25
2017-08-08 9:58 [PATCH] go: update bindings to compile with notmuch 0.25 Kamil Klimkiewicz
@ 2017-08-08 13:40 ` David Bremner
2017-08-12 14:15 ` David Bremner
1 sibling, 0 replies; 3+ messages in thread
From: David Bremner @ 2017-08-08 13:40 UTC (permalink / raw)
To: Kamil Klimkiewicz, notmuch
Kamil Klimkiewicz <miglanz@gmail.com> writes:
> Attached is a simple patch that fixes go bindings to compile with
> notmuch 0.25. Please note it doesn't change the go API, ie. go methods
> *don't* return Status values. I am not sure you also want to break go
> API with the update. If you do, I can update the patch to return
> go-idiomatic (*Messages, Status) tuple.
>
The problem we had in the past was getting any kind of review on go
patches. If you can find someone (or someone responds) to review the
patches then I don't mind an API update.
d
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] go: update bindings to compile with notmuch 0.25
2017-08-08 9:58 [PATCH] go: update bindings to compile with notmuch 0.25 Kamil Klimkiewicz
2017-08-08 13:40 ` David Bremner
@ 2017-08-12 14:15 ` David Bremner
1 sibling, 0 replies; 3+ messages in thread
From: David Bremner @ 2017-08-12 14:15 UTC (permalink / raw)
To: Kamil Klimkiewicz, notmuch
Kamil Klimkiewicz <miglanz@gmail.com> writes:
> Attached is a simple patch that fixes go bindings to compile with
> notmuch 0.25. Please note it doesn't change the go API, ie. go methods
> *don't* return Status values. I am not sure you also want to break go
> API with the update. If you do, I can update the patch to return
> go-idiomatic (*Messages, Status) tuple.
for some reason this patch doesn't apply to current master
> ---
> contrib/go/src/notmuch/notmuch.go | 18 +++++++++++-------
> 1 file changed, 11 insertions(+), 7 deletions(-)
>
> diff --git a/contrib/go/src/notmuch/notmuch.go
> b/contrib/go/src/notmuch/notmuch.go
> index 2d684311..936f927c 100644
> --- a/contrib/go/src/notmuch/notmuch.go
> +++ b/contrib/go/src/notmuch/notmuch.go
> @@ -455,11 +455,12 @@ func (self *Query) GetSort() Sort {
> * If a Xapian exception occurs this function will return NULL.
> */
> func (self *Query) SearchThreads() *Threads {
> - threads := C.notmuch_query_search_threads(self.query)
> - if threads == nil {
> + var threads Threads
> + C.notmuch_query_search_threads(self.query, &threads.threads)
> + if threads.threads == nil {
it seems like it would be better to check the return value of
notmuch_query_search_threads here, wouldn't it?
> /* Destroy a notmuch_query_t along with any associated resources.
> @@ -531,7 +533,9 @@ func (self *Query) Destroy() {
> * printing a message).
> */
> func (self *Query) CountMessages() uint {
> - return uint(C.notmuch_query_count_messages(self.query))
> + var count C.uint
> + C.notmuch_query_count_messages(self.query, &count)
> + return uint(count)
> }
Here especially you should check the return value since the API does not
promise anything about the value of count in case of errors.
d
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-08-12 14:15 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-08 9:58 [PATCH] go: update bindings to compile with notmuch 0.25 Kamil Klimkiewicz
2017-08-08 13:40 ` David Bremner
2017-08-12 14:15 ` David Bremner
Code repositories for project(s) associated with this public inbox
https://yhetil.org/notmuch.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).