Have core-init startup handle errors per extension
This commit is contained in:
@@ -32,9 +32,17 @@ let
|
||||
coreInitImpl = writeText "sqlite-core-init.c" ''
|
||||
#include "${coreInitHeaders}"
|
||||
#include <sqlite3.h>
|
||||
#include <stdio.h>
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user