]> git.notmuchmail.org Git - notmuch/blobdiff - bindings/ruby/filenames.c
ruby: Don't barf if an object is destroyed more than once
[notmuch] / bindings / ruby / filenames.c
index 23553ab14e15f6f322b2f653737a61479a13cc0f..faaa9a0ae15655b51ab26840bd1d32a6a54ebb45 100644 (file)
@@ -30,9 +30,10 @@ notmuch_rb_filenames_destroy(VALUE self)
 {
     notmuch_filenames_t *fnames;
 
-    Data_Get_Struct(self, notmuch_filenames_t, fnames);
+    Data_Get_Notmuch_FileNames(self, fnames);
 
     notmuch_filenames_destroy(fnames);
+    DATA_PTR(self) = NULL;
 
     return Qnil;
 }
@@ -48,9 +49,7 @@ notmuch_rb_filenames_each(VALUE self)
 {
     notmuch_filenames_t *fnames;
 
-    Data_Get_Struct(self, notmuch_filenames_t, fnames);
-    if (!fnames)
-        return self;
+    Data_Get_Notmuch_FileNames(self, fnames);
 
     for (; notmuch_filenames_valid(fnames); notmuch_filenames_move_to_next(fnames))
         rb_yield(rb_str_new2(notmuch_filenames_get(fnames)));