]> git.notmuchmail.org Git - notmuch/blobdiff - bindings/ruby/filenames.c
python: bump SOVERSION to 5
[notmuch] / bindings / ruby / filenames.c
index 44a16522feb7567b6ab1b8baa515396cb9f6ebcb..656c58e6f40dfdc87bcbc86b6dd7b2eb2680ecab 100644 (file)
  * 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 <alip@exherbo.org>
  */
 
 #include "defs.h"
 
+/*
+ * call-seq: FILENAMES.destroy! => nil
+ *
+ * Destroys the filenames, freeing all resources allocated for it.
+ */
+VALUE
+notmuch_rb_filenames_destroy (VALUE self)
+{
+    notmuch_filenames_t *fnames;
+
+    Data_Get_Notmuch_FileNames (self, fnames);
+
+    notmuch_filenames_destroy (fnames);
+    DATA_PTR (self) = NULL;
+
+    return Qnil;
+}
+
 /*
  * call-seq: FILENAMES.each {|item| block } => FILENAMES
  *
  * parameter.
  */
 VALUE
-notmuch_rb_filenames_each(VALUE self)
+notmuch_rb_filenames_each (VALUE self)
 {
-    notmuch_rb_filenames_t *flist;
+    notmuch_filenames_t *fnames;
 
-    Data_Get_Struct(self, notmuch_rb_filenames_t, flist);
-    if (!flist->nm_flist)
-        return self;
+    Data_Get_Notmuch_FileNames (self, fnames);
 
-    for (; notmuch_filenames_valid(flist->nm_flist);
-            notmuch_filenames_move_to_next(flist->nm_flist))
-        rb_yield(rb_str_new2(notmuch_filenames_get(flist->nm_flist)));
+    for (; notmuch_filenames_valid (fnames); notmuch_filenames_move_to_next (fnames))
+       rb_yield (rb_str_new2 (notmuch_filenames_get (fnames)));
 
     return self;
 }