diff options
author | Ali Polatel <alip@exherbo.org> | 2010-05-26 20:56:07 +0300 |
---|---|---|
committer | Ali Polatel <alip@exherbo.org> | 2010-06-06 09:18:00 +0300 |
commit | 5c9e385591b66fa20cbb186393c48c52831a23b7 (patch) | |
tree | 2c87c8356373a958623e65ef311054799f09e5ea /bindings/ruby/filenames.c | |
parent | d2a457a5d8238c54445a8a6066f79c112ebd3a04 (diff) |
ruby: Don't barf if an object is destroyed more than once
Raise RuntimeError instead.
Also revise Notmuch::Database a bit.
Add Notmuch::Database.open singleton method.
Diffstat (limited to 'bindings/ruby/filenames.c')
-rw-r--r-- | bindings/ruby/filenames.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/bindings/ruby/filenames.c b/bindings/ruby/filenames.c index 23553ab1..faaa9a0a 100644 --- a/bindings/ruby/filenames.c +++ b/bindings/ruby/filenames.c @@ -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))); |