X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=bindings%2Fruby%2Fthreads.c;h=ed403a8f1f3db30e88d8fd030991ae1b62b1c9e6;hp=abd51212664c0a10c5b58b34475e049419fba288;hb=HEAD;hpb=5c9e385591b66fa20cbb186393c48c52831a23b7 diff --git a/bindings/ruby/threads.c b/bindings/ruby/threads.c index abd51212..50280260 100644 --- a/bindings/ruby/threads.c +++ b/bindings/ruby/threads.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,19 +21,14 @@ #include "defs.h" /* - * call-seq: THREADS.destroy => nil + * call-seq: THREADS.destroy! => nil * * Destroys the threads, freeing all resources allocated for it. */ VALUE -notmuch_rb_threads_destroy(VALUE self) +notmuch_rb_threads_destroy (VALUE self) { - notmuch_threads_t *threads; - - Data_Get_Struct(self, notmuch_threads_t, threads); - - notmuch_threads_destroy(threads); - DATA_PTR(self) = NULL; + notmuch_rb_object_destroy (self, ¬much_rb_threads_type); return Qnil; } @@ -44,16 +39,16 @@ notmuch_rb_threads_destroy(VALUE self) * parameter. */ VALUE -notmuch_rb_threads_each(VALUE self) +notmuch_rb_threads_each (VALUE self) { notmuch_thread_t *thread; notmuch_threads_t *threads; - Data_Get_Notmuch_Threads(self, threads); + Data_Get_Notmuch_Threads (self, threads); - for (; notmuch_threads_valid(threads); notmuch_threads_move_to_next(threads)) { - thread = notmuch_threads_get(threads); - rb_yield(Data_Wrap_Struct(notmuch_rb_cThread, NULL, NULL, thread)); + for (; notmuch_threads_valid (threads); notmuch_threads_move_to_next (threads)) { + thread = notmuch_threads_get (threads); + rb_yield (Data_Wrap_Notmuch_Object (notmuch_rb_cThread, ¬much_rb_thread_type, thread)); } return self;