X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=bindings%2Fruby%2Ftags.c;h=955d790f3bb79e7e0a100aec758fdf9d2b443a8b;hb=3a52290609b07b51b16b527d1c14ac9836760300;hp=db8b4cfc86f0b3eaa818ce0d7876862158826862;hpb=07dff496304d6dc2e8033a18691b095ed9cd212f;p=notmuch diff --git a/bindings/ruby/tags.c b/bindings/ruby/tags.c index db8b4cfc..955d790f 100644 --- a/bindings/ruby/tags.c +++ b/bindings/ruby/tags.c @@ -20,6 +20,18 @@ #include "defs.h" +VALUE +notmuch_rb_tags_get (notmuch_tags_t *tags) +{ + VALUE rb_array = rb_ary_new (); + + for (; notmuch_tags_valid (tags); notmuch_tags_move_to_next (tags)) { + const char *tag = notmuch_tags_get (tags); + rb_ary_push (rb_array, rb_str_new2 (tag)); + } + return rb_array; +} + /* * call-seq: TAGS.destroy! => nil * @@ -28,12 +40,7 @@ VALUE notmuch_rb_tags_destroy (VALUE self) { - notmuch_tags_t *tags; - - Data_Get_Notmuch_Tags (self, tags); - - notmuch_tags_destroy (tags); - DATA_PTR (self) = NULL; + notmuch_rb_object_destroy (self, ¬much_rb_tags_type); return Qnil; }