X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=bindings%2Fruby%2Fmessages.c;h=a337feeb499fff177e7f3c6659373eaf0c004a00;hp=94b0b0daad836f7e1c54d4e38a4ac0f10e49b655;hb=HEAD;hpb=c7893408bbe6904ae7da97aa203587af4ec2fac7 diff --git a/bindings/ruby/messages.c b/bindings/ruby/messages.c index 94b0b0da..6369d052 100644 --- a/bindings/ruby/messages.c +++ b/bindings/ruby/messages.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,7 +13,7 @@ * 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 */ @@ -21,18 +21,14 @@ #include "defs.h" /* - * call-seq: MESSAGES.destroy => nil + * call-seq: MESSAGES.destroy! => nil * * Destroys the messages, freeing all resources allocated for it. */ VALUE -notmuch_rb_messages_destroy(VALUE self) +notmuch_rb_messages_destroy (VALUE self) { - notmuch_messages_t *fnames; - - Data_Get_Struct(self, notmuch_messages_t, fnames); - - notmuch_messages_destroy(fnames); + notmuch_rb_object_destroy (self, ¬much_rb_messages_type); return Qnil; } @@ -43,18 +39,16 @@ notmuch_rb_messages_destroy(VALUE self) * parameter. */ VALUE -notmuch_rb_messages_each(VALUE self) +notmuch_rb_messages_each (VALUE self) { notmuch_message_t *message; notmuch_messages_t *messages; - Data_Get_Struct(self, notmuch_messages_t, messages); - if (!messages) - return self; + Data_Get_Notmuch_Messages (self, messages); - for (; notmuch_messages_valid(messages); notmuch_messages_move_to_next(messages)) { - message = notmuch_messages_get(messages); - rb_yield(Data_Wrap_Struct(notmuch_rb_cMessage, NULL, NULL, message)); + for (; notmuch_messages_valid (messages); notmuch_messages_move_to_next (messages)) { + message = notmuch_messages_get (messages); + rb_yield (Data_Wrap_Notmuch_Object (notmuch_rb_cMessage, ¬much_rb_message_type, message)); } return self; @@ -66,16 +60,16 @@ notmuch_rb_messages_each(VALUE self) * Collect tags from the messages */ VALUE -notmuch_rb_messages_collect_tags(VALUE self) +notmuch_rb_messages_collect_tags (VALUE self) { notmuch_tags_t *tags; notmuch_messages_t *messages; - Data_Get_Struct(self, notmuch_messages_t, messages); + Data_Get_Notmuch_Messages (self, messages); - tags = notmuch_messages_collect_tags(messages); + tags = notmuch_messages_collect_tags (messages); if (!tags) - rb_raise(notmuch_rb_eMemoryError, "Out of memory"); + rb_raise (notmuch_rb_eMemoryError, "Out of memory"); - return Data_Wrap_Struct(notmuch_rb_cTags, NULL, NULL, tags); + return notmuch_rb_tags_get (tags); }