int create, mode;
VALUE pathv, hashv;
VALUE modev;
-
-#if !defined(RSTRING_PTR)
-# define RSTRING_PTR(v) (RSTRING((v))->ptr)
-#endif /* !defined(RSTRING_PTR) */
+ notmuch_database_t *database;
+ notmuch_status_t ret;
/* Check arguments */
rb_scan_args (argc, argv, "11", &pathv, &hashv);
}
Check_Type (self, T_DATA);
- DATA_PTR (self) = create ? notmuch_database_create (path) : notmuch_database_open (path, mode);
- if (!DATA_PTR (self))
- rb_raise (notmuch_rb_eDatabaseError, "Failed to open database");
+ if (create)
+ ret = notmuch_database_create (path, &database);
+ else
+ ret = notmuch_database_open (path, mode, &database);
+ notmuch_rb_status_raise (ret);
+
+ DATA_PTR (self) = database;
return self;
}
notmuch_database_t *db;
Data_Get_Notmuch_Database (self, db);
- notmuch_database_close (db);
+ notmuch_database_destroy (db);
DATA_PTR (self) = NULL;
return Qnil;
Data_Get_Notmuch_Database (self, db);
-#if !defined(RSTRING_PTR)
-# define RSTRING_PTR(v) (RSTRING((v))->ptr)
-#endif /* !defined(RSTRING_PTR) */
-
SafeStringValue (pathv);
path = RSTRING_PTR (pathv);
Data_Get_Notmuch_Database (self, db);
-#if !defined(RSTRING_PTR)
-# define RSTRING_PTR(v) (RSTRING((v))->ptr)
-#endif /* !defined(RSTRING_PTR) */
-
SafeStringValue (pathv);
path = RSTRING_PTR (pathv);
Data_Get_Notmuch_Database (self, db);
-#if !defined(RSTRING_PTR)
-# define RSTRING_PTR(v) (RSTRING((v))->ptr)
-#endif /* !defined (RSTRING_PTR) */
-
SafeStringValue (pathv);
path = RSTRING_PTR (pathv);
Data_Get_Notmuch_Database (self, db);
-#if !defined(RSTRING_PTR)
-# define RSTRING_PTR(v) (RSTRING((v))->ptr)
-#endif /* !defined (RSTRING_PTR) */
-
SafeStringValue (idv);
id = RSTRING_PTR (idv);
Data_Get_Notmuch_Database (self, db);
-#if !defined(RSTRING_PTR)
-# define RSTRING_PTR(v) (RSTRING((v))->ptr)
-#endif /* !defined (RSTRING_PTR) */
-
SafeStringValue (pathv);
path = RSTRING_PTR (pathv);
Data_Get_Notmuch_Database (self, db);
-#if !defined(RSTRING_PTR)
-# define RSTRING_PTR(v) (RSTRING((v))->ptr)
-#endif /* !defined (RSTRING_PTR) */
-
SafeStringValue (qstrv);
qstr = RSTRING_PTR (qstrv);