X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=bindings%2Fruby%2Ftags.c;h=cc6ea59ece07ca5aacfebc8d776f28c54b593992;hb=ae1336dea5cc6a221699fff260d8b44cee677f77;hp=d7cd941d3bdba825d29f771114d158c61d7327f9;hpb=44ea57a0d10ddab514abea319c4d25ec4e36b51e;p=notmuch diff --git a/bindings/ruby/tags.c b/bindings/ruby/tags.c index d7cd941d..cc6ea59e 100644 --- a/bindings/ruby/tags.c +++ b/bindings/ruby/tags.c @@ -1,6 +1,6 @@ /* The Ruby interface to the notmuch mail library * - * Copyright © 2010 Ali Polatel + * Copyright © 2010, 2011 Ali Polatel * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -13,27 +13,28 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program. If not, see http://www.gnu.org/licenses/ . + * along with this program. If not, see https://www.gnu.org/licenses/ . * * Author: Ali Polatel */ #include "defs.h" +VALUE +notmuch_rb_tags_get (notmuch_tags_t *tags) +{ + return Data_Wrap_Notmuch_Object (notmuch_rb_cTags, ¬much_rb_tags_type, tags); +} + /* - * call-seq: TAGS.destroy => nil + * call-seq: TAGS.destroy! => nil * * Destroys the tags, freeing all resources allocated for it. */ VALUE -notmuch_rb_tags_destroy(VALUE self) +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; } @@ -45,16 +46,16 @@ notmuch_rb_tags_destroy(VALUE self) * parameter. */ VALUE -notmuch_rb_tags_each(VALUE self) +notmuch_rb_tags_each (VALUE self) { const char *tag; notmuch_tags_t *tags; - Data_Get_Notmuch_Tags(self, tags); + Data_Get_Notmuch_Tags (self, tags); - for (; notmuch_tags_valid(tags); notmuch_tags_move_to_next(tags)) { - tag = notmuch_tags_get(tags); - rb_yield(rb_str_new2(tag)); + for (; notmuch_tags_valid (tags); notmuch_tags_move_to_next (tags)) { + tag = notmuch_tags_get (tags); + rb_yield (rb_str_new2 (tag)); } return self;