summaryrefslogtreecommitdiffstats
path: root/generic/tclTest.c
diff options
context:
space:
mode:
authorkjnash <k.j.nash@usa.net>2022-10-26 12:35:18 (GMT)
committerkjnash <k.j.nash@usa.net>2022-10-26 12:35:18 (GMT)
commit1e0a98c9aa064a2472cb7a62b51b86252528782b (patch)
treee8abd26b5fc9a3e83614c3d3a01290eb551939f4 /generic/tclTest.c
parent2ecf92f50b4fad000f8cf4b368ce47c6035bdf4c (diff)
parent42b1c587058185cf982966c733806b5d6dd8625d (diff)
downloadtcl-1e0a98c9aa064a2472cb7a62b51b86252528782b.zip
tcl-1e0a98c9aa064a2472cb7a62b51b86252528782b.tar.gz
tcl-1e0a98c9aa064a2472cb7a62b51b86252528782b.tar.bz2
Merge 8.7
Diffstat (limited to 'generic/tclTest.c')
-rw-r--r--generic/tclTest.c28
1 files changed, 24 insertions, 4 deletions
diff --git a/generic/tclTest.c b/generic/tclTest.c
index 539c90f..c9bad56 100644
--- a/generic/tclTest.c
+++ b/generic/tclTest.c
@@ -552,7 +552,7 @@ Tcltest_Init(
{
Tcl_CmdInfo info;
Tcl_Obj **objv, *objPtr;
- size_t objc;
+ Tcl_Size objc;
int index;
static const char *const specialOptions[] = {
"-appinitprocerror", "-appinitprocdeleteinterp",
@@ -1996,12 +1996,17 @@ TestencodingObjCmd(
const char *string;
TclEncoding *encodingPtr;
static const char *const optionStrings[] = {
- "create", "delete", NULL
+ "create", "delete", "nullength", NULL
};
enum options {
- ENC_CREATE, ENC_DELETE
+ ENC_CREATE, ENC_DELETE, ENC_NULLENGTH
};
+ if (objc < 2) {
+ Tcl_WrongNumArgs(interp, 1, objv, "command ?args?");
+ return TCL_ERROR;
+ }
+
if (Tcl_GetIndexFromObj(interp, objv[1], optionStrings, "option", 0,
&index) != TCL_OK) {
return TCL_ERROR;
@@ -2012,6 +2017,7 @@ TestencodingObjCmd(
Tcl_EncodingType type;
if (objc != 5) {
+ Tcl_WrongNumArgs(interp, 2, objv, "name toutfcmd fromutfcmd");
return TCL_ERROR;
}
encodingPtr = (TclEncoding*)ckalloc(sizeof(TclEncoding));
@@ -2048,6 +2054,20 @@ TestencodingObjCmd(
Tcl_FreeEncoding(encoding); /* Free to match CREATE */
TclFreeInternalRep(objv[2]); /* Free the cached ref */
break;
+
+ case ENC_NULLENGTH:
+ if (objc > 3) {
+ Tcl_WrongNumArgs(interp, 2, objv, "?encoding?");
+ return TCL_ERROR;
+ }
+ encoding =
+ Tcl_GetEncoding(interp, objc == 2 ? NULL : Tcl_GetString(objv[2]));
+ if (encoding == NULL) {
+ return TCL_ERROR;
+ }
+ Tcl_SetObjResult(interp,
+ Tcl_NewIntObj(Tcl_GetEncodingNulLength(encoding)));
+ Tcl_FreeEncoding(encoding);
}
return TCL_OK;
}
@@ -3539,7 +3559,7 @@ TestlistrepCmd(
return TCL_ERROR;
} else {
Tcl_Obj **objs;
- ListSizeT nobjs;
+ Tcl_Size nobjs;
ListRep listRep;
Tcl_Obj *listRepObjs[4];