diff options
author | Ali Polatel <alip@exherbo.org> | 2010-05-26 20:56:07 +0300 |
---|---|---|
committer | Ali Polatel <alip@exherbo.org> | 2010-06-06 09:18:00 +0300 |
commit | 5c9e385591b66fa20cbb186393c48c52831a23b7 (patch) | |
tree | 2c87c8356373a958623e65ef311054799f09e5ea /bindings/ruby/query.c | |
parent | d2a457a5d8238c54445a8a6066f79c112ebd3a04 (diff) |
ruby: Don't barf if an object is destroyed more than once
Raise RuntimeError instead.
Also revise Notmuch::Database a bit.
Add Notmuch::Database.open singleton method.
Diffstat (limited to 'bindings/ruby/query.c')
-rw-r--r-- | bindings/ruby/query.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/bindings/ruby/query.c b/bindings/ruby/query.c index 5140c008..c5b8a4cc 100644 --- a/bindings/ruby/query.c +++ b/bindings/ruby/query.c @@ -30,9 +30,10 @@ notmuch_rb_query_destroy(VALUE self) { notmuch_query_t *query; - Data_Get_Struct(self, notmuch_query_t, query); + Data_Get_Notmuch_Query(self, query); notmuch_query_destroy(query); + DATA_PTR(self) = NULL; return Qnil; } @@ -47,10 +48,10 @@ notmuch_rb_query_set_sort(VALUE self, VALUE sortv) { notmuch_query_t *query; - Data_Get_Struct(self, notmuch_query_t, query); + Data_Get_Notmuch_Query(self, query); if (!FIXNUM_P(sortv)) - rb_raise(rb_eTypeError, "Not a fixnum"); + rb_raise(rb_eTypeError, "Not a Fixnum"); notmuch_query_set_sort(query, FIX2UINT(sortv)); @@ -68,7 +69,7 @@ notmuch_rb_query_search_threads(VALUE self) notmuch_query_t *query; notmuch_threads_t *threads; - Data_Get_Struct(self, notmuch_query_t, query); + Data_Get_Notmuch_Query(self, query); threads = notmuch_query_search_threads(query); if (!threads) @@ -88,7 +89,7 @@ notmuch_rb_query_search_messages(VALUE self) notmuch_query_t *query; notmuch_messages_t *messages; - Data_Get_Struct(self, notmuch_query_t, query); + Data_Get_Notmuch_Query(self, query); messages = notmuch_query_search_messages(query); if (!messages) |