diff options
author | drh <drh@noemail.net> | 2014-09-21 22:49:20 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2014-09-21 22:49:20 +0000 |
commit | 6b011d83b4d377beb19d919bbe1a758cd360a9b2 (patch) | |
tree | 5e1850eb223fd740cae14b1852d68ca485c34d5c /src/tclsqlite.c | |
parent | a4a8a3c22e60402ac604b70adc471d37aaae5daa (diff) | |
parent | 6656630b632fc89ec22860f4100474f5fa194588 (diff) | |
download | sqlite-6b011d83b4d377beb19d919bbe1a758cd360a9b2.tar.gz sqlite-6b011d83b4d377beb19d919bbe1a758cd360a9b2.zip |
Merge all recent trunk changes into the sessions branch.
FossilOrigin-Name: 6406b77f2c447751a2fbb16f01c61cdcfd6af59e
Diffstat (limited to 'src/tclsqlite.c')
-rw-r--r-- | src/tclsqlite.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/tclsqlite.c b/src/tclsqlite.c index 2f848c059..e03f49d26 100644 --- a/src/tclsqlite.c +++ b/src/tclsqlite.c @@ -916,6 +916,9 @@ static int auth_callback( const char *zArg2, const char *zArg3, const char *zArg4 +#ifdef SQLITE_USER_AUTHENTICATION + ,const char *zArg5 +#endif ){ const char *zCode; Tcl_DString str; @@ -968,6 +971,9 @@ static int auth_callback( Tcl_DStringAppendElement(&str, zArg2 ? zArg2 : ""); Tcl_DStringAppendElement(&str, zArg3 ? zArg3 : ""); Tcl_DStringAppendElement(&str, zArg4 ? zArg4 : ""); +#ifdef SQLITE_USER_AUTHENTICATION + Tcl_DStringAppendElement(&str, zArg5 ? zArg5 : ""); +#endif rc = Tcl_GlobalEval(pDb->interp, Tcl_DStringValue(&str)); Tcl_DStringFree(&str); zReply = rc==TCL_OK ? Tcl_GetStringResult(pDb->interp) : "SQLITE_DENY"; @@ -1785,8 +1791,11 @@ static int DbObjCmd(void *cd, Tcl_Interp *interp, int objc,Tcl_Obj *const*objv){ pDb->zAuth = 0; } if( pDb->zAuth ){ + typedef int (*sqlite3_auth_cb)( + void*,int,const char*,const char*, + const char*,const char*); pDb->interp = interp; - sqlite3_set_authorizer(pDb->db, auth_callback, pDb); + sqlite3_set_authorizer(pDb->db,(sqlite3_auth_cb)auth_callback,pDb); }else{ sqlite3_set_authorizer(pDb->db, 0, 0); } |