summaryrefslogtreecommitdiffstats
path: root/lib/libsqlite3/src/test8.c
diff options
context:
space:
mode:
authorespie <espie@openbsd.org>2012-06-22 17:48:15 +0000
committerespie <espie@openbsd.org>2012-06-22 17:48:15 +0000
commitf59b59d8f0f4d9c9dc517727087c56fa3b94838f (patch)
treed51be9cb4ac356c69faa75e0f255f1ba7857afb5 /lib/libsqlite3/src/test8.c
parentAdd initial support for retransmition timeouts and response retries. (diff)
downloadwireguard-openbsd-f59b59d8f0f4d9c9dc517727087c56fa3b94838f.tar.xz
wireguard-openbsd-f59b59d8f0f4d9c9dc517727087c56fa3b94838f.zip
import 3.7.13
okay jasper@
Diffstat (limited to 'lib/libsqlite3/src/test8.c')
-rw-r--r--lib/libsqlite3/src/test8.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/lib/libsqlite3/src/test8.c b/lib/libsqlite3/src/test8.c
index ba7e37372c7..372eef664a4 100644
--- a/lib/libsqlite3/src/test8.c
+++ b/lib/libsqlite3/src/test8.c
@@ -1300,6 +1300,7 @@ static sqlite3_module echoModuleV2 = {
** Decode a pointer to an sqlite3 object.
*/
extern int getDbPointer(Tcl_Interp *interp, const char *zA, sqlite3 **ppDb);
+extern const char *sqlite3TestErrorName(int rc);
static void moduleDestroy(void *p){
sqlite3_free(p);
@@ -1314,6 +1315,7 @@ static int register_echo_module(
int objc, /* Number of arguments */
Tcl_Obj *CONST objv[] /* Command arguments */
){
+ int rc;
sqlite3 *db;
EchoModule *pMod;
if( objc!=2 ){
@@ -1325,14 +1327,20 @@ static int register_echo_module(
/* Virtual table module "echo" */
pMod = sqlite3_malloc(sizeof(EchoModule));
pMod->interp = interp;
- sqlite3_create_module_v2(db, "echo", &echoModule, (void*)pMod, moduleDestroy);
+ rc = sqlite3_create_module_v2(
+ db, "echo", &echoModule, (void*)pMod, moduleDestroy
+ );
/* Virtual table module "echo_v2" */
- pMod = sqlite3_malloc(sizeof(EchoModule));
- pMod->interp = interp;
- sqlite3_create_module_v2(db, "echo_v2",
- &echoModuleV2, (void*)pMod, moduleDestroy
- );
+ if( rc==SQLITE_OK ){
+ pMod = sqlite3_malloc(sizeof(EchoModule));
+ pMod->interp = interp;
+ rc = sqlite3_create_module_v2(db, "echo_v2",
+ &echoModuleV2, (void*)pMod, moduleDestroy
+ );
+ }
+
+ Tcl_SetResult(interp, (char *)sqlite3TestErrorName(rc), TCL_STATIC);
return TCL_OK;
}