aboutsummaryrefslogtreecommitdiff
path: root/jim.c
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2016-08-28 13:40:12 +1000
committerSteve Bennett <steveb@workware.net.au>2016-08-28 13:47:50 +1000
commitcc6d59e7bb61f49c77bd89fbf49815279bcda11a (patch)
treec0417bae25e70f14af3002536b57a3614f9882b2 /jim.c
parent7f8ca8fbdeb07935001ac46968700ef3b9e2e38a (diff)
downloadjimtcl-cc6d59e7bb61f49c77bd89fbf49815279bcda11a.zip
jimtcl-cc6d59e7bb61f49c77bd89fbf49815279bcda11a.tar.gz
jimtcl-cc6d59e7bb61f49c77bd89fbf49815279bcda11a.tar.bz2
zlib: Fix arg error checking
It is wrong to call Jim_WrongNumArgs() with argc == 0. Instead -1 should be returned from the subcmd function to display the standard error message. Add a --maintainer check for this condition in Jim_WrongNumArgs() and fix the zlib unit tests. Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'jim.c')
-rw-r--r--jim.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/jim.c b/jim.c
index d7d5f0e..00c6c0c 100644
--- a/jim.c
+++ b/jim.c
@@ -11363,7 +11363,11 @@ int Jim_SubstObj(Jim_Interp *interp, Jim_Obj *substObjPtr, Jim_Obj **resObjPtrPt
void Jim_WrongNumArgs(Jim_Interp *interp, int argc, Jim_Obj *const *argv, const char *msg)
{
Jim_Obj *objPtr;
- Jim_Obj *listObjPtr = Jim_NewListObj(interp, argv, argc);
+ Jim_Obj *listObjPtr;
+
+ JimPanic((argc == 0, "Jim_WrongNumArgs() called with argc=0"));
+
+ listObjPtr = Jim_NewListObj(interp, argv, argc);
if (*msg) {
Jim_ListAppendElement(interp, listObjPtr, Jim_NewStringObj(interp, msg, -1));