diff options
author | Steve Bennett <steveb@workware.net.au> | 2016-08-28 13:40:12 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2016-08-28 13:47:50 +1000 |
commit | cc6d59e7bb61f49c77bd89fbf49815279bcda11a (patch) | |
tree | c0417bae25e70f14af3002536b57a3614f9882b2 /jim.c | |
parent | 7f8ca8fbdeb07935001ac46968700ef3b9e2e38a (diff) | |
download | jimtcl-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.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -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)); |