zval *_real_arg, *_arg = NULL; \
zend_expected_type _expected_type = Z_EXPECTED_LONG; \
char *_error = NULL; \
- zend_bool _dummy; \
+ ZEND_ATTRIBUTE_UNUSED zend_bool _dummy; \
zend_bool _optional = 0; \
int _error_code = ZPP_ERROR_OK; \
((void)_i); \
((void)_arg); \
((void)_expected_type); \
((void)_error); \
- ((void)_dummy); \
((void)_optional); \
\
do { \
rc = sqlite3_open_v2(fullpath, &(db_obj->db), flags, NULL);
if (rc != SQLITE_OK) {
+ sqlite3_close(db_obj->db);
zend_throw_exception_ex(zend_ce_exception, 0, "Unable to open database: %s",
#ifdef HAVE_SQLITE3_ERRSTR
db_obj->db ? sqlite3_errmsg(db_obj->db) : sqlite3_errstr(rc));
#else
db_obj->db ? sqlite3_errmsg(db_obj->db) : "");
#endif
- sqlite3_close(db_obj->db);
if (fullpath != filename) {
efree(fullpath);
}
#ifdef SQLITE_HAS_CODEC
if (encryption_key_len > 0) {
if (sqlite3_key(db_obj->db, encryption_key, encryption_key_len) != SQLITE_OK) {
- zend_throw_exception_ex(zend_ce_exception, 0, "Unable to open database: %s", sqlite3_errmsg(db_obj->db));
sqlite3_close(db_obj->db);
+ zend_throw_exception_ex(zend_ce_exception, 0, "Unable to open database: %s", sqlite3_errmsg(db_obj->db));
RETURN_THROWS();
}
}