X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=bindings%2Fruby%2Fdefs.h;h=fcf1ea3900ca97cf5ae9c872b6bd86b04f331a0d;hb=12c36a5e3f676d5108cede6ac09204fb62fa20b1;hp=ae3ea10131af4de893377334fffcda304bab33f3;hpb=79bb82c2179ea0dd5de384bb1ab6f0f118a035df;p=notmuch diff --git a/bindings/ruby/defs.h b/bindings/ruby/defs.h index ae3ea101..fcf1ea39 100644 --- a/bindings/ruby/defs.h +++ b/bindings/ruby/defs.h @@ -58,12 +58,15 @@ extern ID ID_db_mode; #define Data_Get_Notmuch_Object(obj, ptr) \ do { \ (ptr) = rb_data_object_get ((obj)); \ - if (!(ptr)) { \ + if (RB_UNLIKELY (!(ptr))) { \ VALUE cname = rb_class_name (CLASS_OF ((obj))); \ rb_raise (rb_eRuntimeError, "%"PRIsVALUE" object destroyed", cname); \ } \ } while (0) +#define Data_Wrap_Notmuch_Object(klass, ptr) \ + Data_Wrap_Struct ((klass), NULL, NULL, (ptr)) + #define Data_Get_Notmuch_Database(obj, ptr) \ Data_Get_Notmuch_Object ((obj), (ptr))