Blob Blame History Raw
diff --git a/src/md5.c b/src/md5.c
index a22f6d2..fc5693f 100644
--- a/src/md5.c
+++ b/src/md5.c
@@ -296,6 +296,7 @@ static void DigestToBase16(unsigned char *digest, char *zBuf){
 static int md5_cmd(void*cd, Tcl_Interp *interp, int argc, const char **argv){
   MD5Context ctx;
   unsigned char digest[16];
+  char buf[64];
 
   if( argc!=2 ){
     Tcl_AppendResult(interp,"wrong # args: should be \"", argv[0], 
@@ -305,7 +306,8 @@ static int md5_cmd(void*cd, Tcl_Interp *interp, int argc, const char **argv){
   MD5Init(&ctx);
   MD5Update(&ctx, (unsigned char*)argv[1], (unsigned)strlen(argv[1]));
   MD5Final(digest, &ctx);
-  DigestToBase16(digest, interp->result);
+  DigestToBase16(digest, buf);
+  Tcl_SetResult(interp, buf, TCL_VOLATILE);
   return TCL_OK;
 }
 
@@ -318,6 +320,7 @@ static int md5file_cmd(void*cd, Tcl_Interp*interp, int argc, const char **argv){
   MD5Context ctx;
   unsigned char digest[16];
   char zBuf[10240];
+  char buf[64];
 
   if( argc!=2 ){
     Tcl_AppendResult(interp,"wrong # args: should be \"", argv[0], 
@@ -339,7 +342,8 @@ static int md5file_cmd(void*cd, Tcl_Interp*interp, int argc, const char **argv){
   }
   fclose(in);
   MD5Final(digest, &ctx);
-  DigestToBase16(digest, interp->result);
+  DigestToBase16(digest, buf);
+  Tcl_SetResult(interp, buf, TCL_VOLATILE);
   return TCL_OK;
 }
 
diff --git a/src/tclsqlite.c b/src/tclsqlite.c
index cc8daa1..7337ed7 100644
--- a/src/tclsqlite.c
+++ b/src/tclsqlite.c
@@ -1246,7 +1246,7 @@ int TCLSH_MAIN(int argc, char **argv){
     }
     if( Tcl_EvalFile(interp, argv[1])!=TCL_OK ){
       const char *zInfo = Tcl_GetVar(interp, "errorInfo", TCL_GLOBAL_ONLY);
-      if( zInfo==0 ) zInfo = interp->result;
+      if( zInfo==0 ) zInfo = Tcl_GetStringResult(interp);
       fprintf(stderr,"%s: %s\n", *argv, zInfo);
       return TCL_ERROR;
     }