summaryrefslogtreecommitdiffstats
path: root/generic/tclTest.c
diff options
context:
space:
mode:
Diffstat (limited to 'generic/tclTest.c')
-rw-r--r--generic/tclTest.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/generic/tclTest.c b/generic/tclTest.c
index 46a1459..e18283d 100644
--- a/generic/tclTest.c
+++ b/generic/tclTest.c
@@ -6285,17 +6285,20 @@ TestGetIndexFromObjStructObjCmd(
const char *const ary[] = {
"a", "b", "c", "d", "e", "f", NULL, NULL
};
- int idx,target;
+ int idx,target, flags = 0;
- if (objc != 3) {
- Tcl_WrongNumArgs(interp, 1, objv, "argument targetvalue");
+ if (objc != 3 && objc != 4) {
+ Tcl_WrongNumArgs(interp, 1, objv, "argument targetvalue ?flags?");
return TCL_ERROR;
}
- if (Tcl_GetIndexFromObjStruct(interp, objv[1], ary, 2*sizeof(char *),
- "dummy", 0, &idx) != TCL_OK) {
+ if (Tcl_GetIntFromObj(interp, objv[2], &target) != TCL_OK) {
return TCL_ERROR;
}
- if (Tcl_GetIntFromObj(interp, objv[2], &target) != TCL_OK) {
+ if ((objc > 3) && (Tcl_GetIntFromObj(interp, objv[3], &flags) != TCL_OK)) {
+ return TCL_ERROR;
+ }
+ if (Tcl_GetIndexFromObjStruct(interp, (Tcl_GetString(objv[1])[0] ? objv[1] : NULL), ary, 2*sizeof(char *),
+ "dummy", flags, &idx) != TCL_OK) {
return TCL_ERROR;
}
if (idx != target) {
@@ -6307,7 +6310,7 @@ TestGetIndexFromObjStructObjCmd(
Tcl_AppendResult(interp, " when ", buffer, " expected", NULL);
return TCL_ERROR;
}
- Tcl_WrongNumArgs(interp, 3, objv, NULL);
+ Tcl_WrongNumArgs(interp, objc, objv, NULL);
return TCL_OK;
}