Have core-init startup handle errors per extension
This commit is contained in:
@@ -32,9 +32,17 @@ let
|
|||||||
coreInitImpl = writeText "sqlite-core-init.c" ''
|
coreInitImpl = writeText "sqlite-core-init.c" ''
|
||||||
#include "${coreInitHeaders}"
|
#include "${coreInitHeaders}"
|
||||||
#include <sqlite3.h>
|
#include <sqlite3.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
int core_init(const char *dummy) {
|
int core_init(const char *dummy) {
|
||||||
${lib.concatMapStringsSep "\n" (sym: "sqlite3_auto_extension((void(*)(void))${sym});") initSymbols}
|
int rc;
|
||||||
|
${lib.concatMapStringsSep "\n" (sym: ''
|
||||||
|
rc = sqlite3_auto_extension((void(*)(void))${sym});
|
||||||
|
if (rc != SQLITE_OK) {
|
||||||
|
fprintf(stderr, "Failed to register auto-extension ${sym}: %d\n", rc);
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
'') initSymbols}
|
||||||
return SQLITE_OK;
|
return SQLITE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user