From 445fd51fa9afc1afece5244fbaa88454f3d310c5 Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Thu, 21 Apr 2011 12:05:13 +0000 Subject: fix warnings in tclTest.c --- generic/tclTest.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/generic/tclTest.c b/generic/tclTest.c index f2a357a..9acbc5e 100644 --- a/generic/tclTest.c +++ b/generic/tclTest.c @@ -327,13 +327,13 @@ static int TestsetplatformCmd _ANSI_ARGS_((ClientData dummy, static int TeststaticpkgCmd _ANSI_ARGS_((ClientData dummy, Tcl_Interp *interp, int argc, CONST char **argv)); static int PretendTclpStat _ANSI_ARGS_((CONST char *path, - struct stat *buf)); + Tcl_StatBuf *buf)); static int TestStatProc1 _ANSI_ARGS_((CONST char *path, - struct stat *buf)); + Tcl_StatBuf *buf)); static int TestStatProc2 _ANSI_ARGS_((CONST char *path, - struct stat *buf)); + Tcl_StatBuf *buf)); static int TestStatProc3 _ANSI_ARGS_((CONST char *path, - struct stat *buf)); + Tcl_StatBuf *buf)); static int TeststatprocCmd _ANSI_ARGS_((ClientData dummy, Tcl_Interp *interp, int argc, CONST char **argv)); static int TesttranslatefilenameCmd _ANSI_ARGS_((ClientData dummy, @@ -4699,7 +4699,7 @@ TeststatprocCmd (dummy, interp, argc, argv) static int PretendTclpStat(path, buf) CONST char *path; - struct stat *buf; + Tcl_StatBuf *buf; { int ret; Tcl_Obj *pathPtr = Tcl_NewStringObj(path, -1); @@ -4793,9 +4793,9 @@ static int PretendTclpStat(path, buf) static int TestStatProc1(path, buf) CONST char *path; - struct stat *buf; + Tcl_StatBuf *buf; { - memset(buf, 0, sizeof(struct stat)); + memset(buf, 0, sizeof(Tcl_StatBuf)); buf->st_size = 1234; return ((strstr(path, "testStat1%.fil") == NULL) ? -1 : 0); } @@ -4804,9 +4804,9 @@ TestStatProc1(path, buf) static int TestStatProc2(path, buf) CONST char *path; - struct stat *buf; + Tcl_StatBuf *buf; { - memset(buf, 0, sizeof(struct stat)); + memset(buf, 0, sizeof(Tcl_StatBuf)); buf->st_size = 2345; return ((strstr(path, "testStat2%.fil") == NULL) ? -1 : 0); } @@ -4815,9 +4815,9 @@ TestStatProc2(path, buf) static int TestStatProc3(path, buf) CONST char *path; - struct stat *buf; + Tcl_StatBuf *buf; { - memset(buf, 0, sizeof(struct stat)); + memset(buf, 0, sizeof(Tcl_StatBuf)); buf->st_size = 3456; return ((strstr(path, "testStat3%.fil") == NULL) ? -1 : 0); } -- cgit v0.12 From 3dee0582a464245f4ebfb6cc887e198566d3f035 Mon Sep 17 00:00:00 2001 From: dgp Date: Thu, 21 Apr 2011 12:58:31 +0000 Subject: Make sure SetFooFromAny routines react reasonably when passed a NULL interp. --- ChangeLog | 7 +++++++ generic/tclCompile.c | 7 +++++-- generic/tclIndexObj.c | 2 ++ generic/tclNamesp.c | 4 ++++ generic/tclObj.c | 4 ++++ 5 files changed, 22 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4572003..c88efd1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2011-04-21 Don Porter + + * generic/tclCompile.c: Make sure SetFooFromAny routines react + * generic/tclIndexObj.c: reasonably when passed a NULL interp. + * generic/tclNamesp.c: + * generic/tclObj.c: + 2011-04-21 Jan Nijtmans * generic/tcl.h: fix for [Bug 3288345]: Wrong Tcl_StatBuf diff --git a/generic/tclCompile.c b/generic/tclCompile.c index 660a1f2..0b1a3ff 100644 --- a/generic/tclCompile.c +++ b/generic/tclCompile.c @@ -333,12 +333,12 @@ Tcl_ObjType tclByteCodeType = { * compiling its string representation. This function also takes * a hook procedure that will be invoked to perform any needed post * processing on the compilation results before generating byte - * codes. + * codes. interp is compilation context and may not be NULL. * * Results: * The return value is a standard Tcl object result. If an error occurs * during compilation, an error message is left in the interpreter's - * result unless "interp" is NULL. + * result. * * Side effects: * Frees the old internal representation. If no error occurs, then the @@ -515,6 +515,9 @@ SetByteCodeFromAny(interp, objPtr) * being compiled. Must not be NULL. */ Tcl_Obj *objPtr; /* The object to make a ByteCode object. */ { + if (interp == NULL) { + return TCL_ERROR; + } return TclSetByteCodeFromAny(interp, objPtr, (CompileHookProc *) NULL, (ClientData) NULL); } diff --git a/generic/tclIndexObj.c b/generic/tclIndexObj.c index 9d8679c..79fc262 100644 --- a/generic/tclIndexObj.c +++ b/generic/tclIndexObj.c @@ -308,9 +308,11 @@ SetIndexFromAny(interp, objPtr) Tcl_Interp *interp; /* Used for error reporting if not NULL. */ register Tcl_Obj *objPtr; /* The object to convert. */ { + if (interp) { Tcl_AppendToObj(Tcl_GetObjResult(interp), "can't convert value to index except via Tcl_GetIndexFromObj API", -1); + } return TCL_ERROR; } diff --git a/generic/tclNamesp.c b/generic/tclNamesp.c index 4130c66..77352a1 100644 --- a/generic/tclNamesp.c +++ b/generic/tclNamesp.c @@ -3913,6 +3913,10 @@ SetNsNameFromAny(interp, objPtr) Namespace *nsPtr, *dummy1Ptr, *dummy2Ptr; register ResolvedNsName *resNamePtr; + if (interp == NULL) { + return TCL_ERROR; + } + /* * Get the string representation. Make it up-to-date if necessary. */ diff --git a/generic/tclObj.c b/generic/tclObj.c index 43f0d2e..7b9bb61 100644 --- a/generic/tclObj.c +++ b/generic/tclObj.c @@ -3597,6 +3597,10 @@ SetCmdNameFromAny(interp, objPtr) Namespace *currNsPtr; register ResolvedCmdName *resPtr; + if (interp == NULL) { + return TCL_ERROR; + } + /* * Get "objPtr"s string representation. Make it up-to-date if necessary. */ -- cgit v0.12