aboutsummaryrefslogtreecommitdiff
path: root/src/tclsqlite.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2006-08-24 02:42:27 +0000
committerdrh <drh@noemail.net>2006-08-24 02:42:27 +0000
commit882e8e4df2cc0ea50735fa27789a8cc13ea33675 (patch)
tree542a7c3bd79f8ad4133fdfa09f0056cc21755011 /src/tclsqlite.c
parent1717edd15785dca12eccd57d0bcb28402843fd1e (diff)
downloadsqlite-882e8e4df2cc0ea50735fa27789a8cc13ea33675.tar.gz
sqlite-882e8e4df2cc0ea50735fa27789a8cc13ea33675.zip
Tcl interface does filename translation prior to calling sqlite3_open().
Ticket #1937. (CVS 3364) FossilOrigin-Name: 5696e0cb771ea62df6f91cb03dfc428af1441e9e
Diffstat (limited to 'src/tclsqlite.c')
-rw-r--r--src/tclsqlite.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/tclsqlite.c b/src/tclsqlite.c
index 5bc6d122c..1d5eee14b 100644
--- a/src/tclsqlite.c
+++ b/src/tclsqlite.c
@@ -11,7 +11,7 @@
*************************************************************************
** A TCL Interface to SQLite
**
-** $Id: tclsqlite.c,v 1.167 2006/08/23 20:07:22 drh Exp $
+** $Id: tclsqlite.c,v 1.168 2006/08/24 02:42:28 drh Exp $
*/
#ifndef NO_TCL /* Omit this whole file if TCL is unavailable */
@@ -2001,6 +2001,7 @@ static int DbMain(void *cd, Tcl_Interp *interp, int objc,Tcl_Obj *const*objv){
const char *zArg;
char *zErrMsg;
const char *zFile;
+ Tcl_DString translatedFilename;
if( objc==2 ){
zArg = Tcl_GetStringFromObj(objv[1], 0);
if( strcmp(zArg,"-version")==0 ){
@@ -2049,7 +2050,9 @@ static int DbMain(void *cd, Tcl_Interp *interp, int objc,Tcl_Obj *const*objv){
}
memset(p, 0, sizeof(*p));
zFile = Tcl_GetStringFromObj(objv[2], 0);
+ zFile = Tcl_TranslateFileName(interp, zFile, &translatedFilename);
sqlite3_open(zFile, &p->db);
+ Tcl_DStringFree(&translatedFilename);
if( SQLITE_OK!=sqlite3_errcode(p->db) ){
zErrMsg = strdup(sqlite3_errmsg(p->db));
sqlite3_close(p->db);