diff --git a/SQLite.xs b/SQLite.xs index 4fd756a..3528238 100644 --- a/SQLite.xs +++ b/SQLite.xs @@ -47,7 +47,7 @@ create_function(dbh, name, argc, func) sqlite3_db_create_function(aTHX_ dbh, name, argc, func ); } -void +static int enable_load_extension(dbh, onoff) SV *dbh int onoff @@ -55,8 +55,10 @@ enable_load_extension(dbh, onoff) DBD::SQLite::db::sqlite_enable_load_extension = 1 CODE: { - sqlite3_db_enable_load_extension(aTHX_ dbh, onoff ); + RETVAL = sqlite3_db_enable_load_extension(aTHX_ dbh, onoff ); } + OUTPUT: + RETVAL void create_aggregate(dbh, name, argc, aggr) diff --git a/dbdimp.c b/dbdimp.c index aa693a1..274ba23 100644 --- a/dbdimp.c +++ b/dbdimp.c @@ -960,7 +960,7 @@ sqlite3_db_create_function(pTHX_ SV *dbh, const char *name, int argc, SV *func ) return TRUE; } -void +int sqlite3_db_enable_load_extension(pTHX_ SV *dbh, int onoff ) { D_imp_dbh(dbh); @@ -971,7 +971,9 @@ sqlite3_db_enable_load_extension(pTHX_ SV *dbh, int onoff ) { char* const errmsg = form("sqlite_enable_load_extension failed with error %s", sqlite3_errmsg(imp_dbh->db)); sqlite_error(dbh, (imp_xxh_t*)imp_dbh, retval, errmsg); + return FALSE; } + return TRUE; } static void diff --git a/dbdimp.h b/dbdimp.h index f1d4a2f..4c435ce 100644 --- a/dbdimp.h +++ b/dbdimp.h @@ -79,7 +79,7 @@ struct aggrInfo { }; int sqlite3_db_create_function(pTHX_ SV *dbh, const char *name, int argc, SV *func); -void sqlite3_db_enable_load_extension(pTHX_ SV *dbh, int onoff); +int sqlite3_db_enable_load_extension(pTHX_ SV *dbh, int onoff); void sqlite3_db_create_aggregate(pTHX_ SV *dbh, const char *name, int argc, SV *aggr ); int sqlite3_db_create_collation(pTHX_ SV *dbh, const char *name, SV *func); int sqlite3_db_progress_handler(pTHX_ SV *dbh, int n_opcodes, SV *handler);