From 5c9e385591b66fa20cbb186393c48c52831a23b7 Mon Sep 17 00:00:00 2001 From: Ali Polatel Date: Wed, 26 May 2010 20:56:07 +0300 Subject: 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. --- bindings/ruby/tags.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'bindings/ruby/tags.c') diff --git a/bindings/ruby/tags.c b/bindings/ruby/tags.c index 7ca03b6f..d7cd941d 100644 --- a/bindings/ruby/tags.c +++ b/bindings/ruby/tags.c @@ -21,7 +21,7 @@ #include "defs.h" /* - * call-seq: tags.destroy => nil + * call-seq: TAGS.destroy => nil * * Destroys the tags, freeing all resources allocated for it. */ @@ -30,9 +30,10 @@ notmuch_rb_tags_destroy(VALUE self) { notmuch_tags_t *tags; - Data_Get_Struct(self, notmuch_tags_t, tags); + Data_Get_Notmuch_Tags(self, tags); notmuch_tags_destroy(tags); + DATA_PTR(self) = NULL; return Qnil; } @@ -49,9 +50,7 @@ notmuch_rb_tags_each(VALUE self) const char *tag; notmuch_tags_t *tags; - Data_Get_Struct(self, notmuch_tags_t, tags); - if (!tags) - return self; + Data_Get_Notmuch_Tags(self, tags); for (; notmuch_tags_valid(tags); notmuch_tags_move_to_next(tags)) { tag = notmuch_tags_get(tags); -- cgit v1.2.3