X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=bindings%2Fruby%2Fdatabase.c;h=e84f726d1bf5576814a019062e883e604f0ba467;hp=409d54fa504e85e8f88037cf7b99f4dcdbf2eb89;hb=bc4000a95289da7f4928ea448382c69781f2653c;hpb=ed4f73a080b08c304bd4603d8b6313c45e7c40d3;ds=sidebyside diff --git a/bindings/ruby/database.c b/bindings/ruby/database.c index 409d54fa..e84f726d 100644 --- a/bindings/ruby/database.c +++ b/bindings/ruby/database.c @@ -252,6 +252,7 @@ VALUE notmuch_rb_database_get_directory (VALUE self, VALUE pathv) { const char *path; + notmuch_status_t ret; notmuch_directory_t *dir; notmuch_database_t *db; @@ -260,11 +261,11 @@ notmuch_rb_database_get_directory (VALUE self, VALUE pathv) SafeStringValue (pathv); path = RSTRING_PTR (pathv); - dir = notmuch_database_get_directory (db, path); - if (!dir) - rb_raise (notmuch_rb_eXapianError, "Xapian exception"); - - return Data_Wrap_Struct (notmuch_rb_cDirectory, NULL, NULL, dir); + ret = notmuch_database_get_directory (db, path, &dir); + notmuch_rb_status_raise (ret); + if (dir) + return Data_Wrap_Struct (notmuch_rb_cDirectory, NULL, NULL, dir); + return Qnil; } /*