X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=bindings%2Fruby%2Ftags.c;h=e8226ad7433f71c1a73e37ef3cf1a0d417228d5b;hb=5c00af46ec5add69b3b2750ea2a9437e5953a7b0;hp=7ca03b6f91135aa896e2c22994ebef2b653253d2;hpb=c7893408bbe6904ae7da97aa203587af4ec2fac7;p=notmuch diff --git a/bindings/ruby/tags.c b/bindings/ruby/tags.c index 7ca03b6f..e8226ad7 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 @@ -21,18 +21,19 @@ #include "defs.h" /* - * 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_Struct(self, notmuch_tags_t, tags); + Data_Get_Notmuch_Tags (self, tags); - notmuch_tags_destroy(tags); + notmuch_tags_destroy (tags); + DATA_PTR (self) = NULL; return Qnil; } @@ -44,18 +45,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_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); - 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;