summaryrefslogtreecommitdiffstats
path: root/generic/tclFileName.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2022-01-27 16:53:35 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2022-01-27 16:53:35 (GMT)
commit75cb3e25d6840c30ddc08ac50b61e772d236f857 (patch)
tree45ba6dec4e63540baa5cf3af736ffc297b34d722 /generic/tclFileName.c
parent1ed443d5c08e7a7cb65c6dabcd959c8b4f3cb51d (diff)
downloadtcl-75cb3e25d6840c30ddc08ac50b61e772d236f857.zip
tcl-75cb3e25d6840c30ddc08ac50b61e772d236f857.tar.gz
tcl-75cb3e25d6840c30ddc08ac50b61e772d236f857.tar.bz2
Almost complete (at least the API)
Diffstat (limited to 'generic/tclFileName.c')
-rw-r--r--generic/tclFileName.c35
1 files changed, 18 insertions, 17 deletions
diff --git a/generic/tclFileName.c b/generic/tclFileName.c
index 6b91c7f..5a731eb 100644
--- a/generic/tclFileName.c
+++ b/generic/tclFileName.c
@@ -1229,7 +1229,8 @@ Tcl_GlobObjCmd(
int objc, /* Number of arguments. */
Tcl_Obj *const objv[]) /* Argument objects. */
{
- int index, i, globFlags, length, join, dir, result;
+ int index, i, globFlags, join, dir, result;
+ size_t length;
char *string;
const char *separators;
Tcl_Obj *typePtr, *look;
@@ -1333,7 +1334,7 @@ Tcl_GlobObjCmd(
return TCL_ERROR;
}
typePtr = objv[i+1];
- if (TclListObjLength_(interp, typePtr, &length) != TCL_OK) {
+ if (Tcl_ListObjLength(interp, typePtr, &length) != TCL_OK) {
return TCL_ERROR;
}
i++;
@@ -1455,8 +1456,8 @@ Tcl_GlobObjCmd(
* platform.
*/
- TclListObjLength_(interp, typePtr, &length);
- if (length <= 0) {
+ Tcl_ListObjLength(interp, typePtr, &length);
+ if (length == 0) {
goto skipTypes;
}
globTypes = (Tcl_GlobTypeData *)TclStackAlloc(interp, sizeof(Tcl_GlobTypeData));
@@ -1465,7 +1466,7 @@ Tcl_GlobObjCmd(
globTypes->macType = NULL;
globTypes->macCreator = NULL;
- while (--length >= 0) {
+ while (length-- > 0) {
size_t len;
const char *str;
@@ -1524,9 +1525,9 @@ Tcl_GlobObjCmd(
} else {
Tcl_Obj *item;
- int llen;
+ size_t llen;
- if ((TclListObjLength_(NULL, look, &llen) == TCL_OK)
+ if ((Tcl_ListObjLength(NULL, look, &llen) == TCL_OK)
&& (llen == 3)) {
Tcl_ListObjIndex(interp, look, 0, &item);
if (!strcmp("macintosh", TclGetString(item))) {
@@ -1633,7 +1634,7 @@ Tcl_GlobObjCmd(
}
if ((globFlags & TCL_GLOBMODE_NO_COMPLAIN) == 0) {
- if (TclListObjLength_(interp, Tcl_GetObjResult(interp),
+ if (Tcl_ListObjLength(interp, Tcl_GetObjResult(interp),
&length) != TCL_OK) {
/*
* This should never happen. Maybe we should be more dramatic.
@@ -1988,7 +1989,7 @@ TclGlob(
*/
if (globFlags & TCL_GLOBMODE_TAILS) {
- int objc, i;
+ size_t objc, i;
Tcl_Obj **objv;
size_t prefixLen;
const char *pre;
@@ -2016,7 +2017,7 @@ TclGlob(
}
}
- TclListObjGetElements_(NULL, filenamesObj, &objc, &objv);
+ Tcl_ListObjGetElements(NULL, filenamesObj, &objc, &objv);
for (i = 0; i< objc; i++) {
size_t len;
const char *oldStr = Tcl_GetStringFromObj(objv[i], &len);
@@ -2342,16 +2343,16 @@ DoGlob(
pattern, &dirOnly);
*p = save;
if (result == TCL_OK) {
- int subdirc, i, repair = -1;
+ size_t i, subdirc, repair = TCL_INDEX_NONE;
Tcl_Obj **subdirv;
- result = TclListObjGetElements_(interp, subdirsPtr,
+ result = Tcl_ListObjGetElements(interp, subdirsPtr,
&subdirc, &subdirv);
for (i=0; result==TCL_OK && i<subdirc; i++) {
Tcl_Obj *copy = NULL;
if (pathPtr == NULL && TclGetString(subdirv[i])[0] == '~') {
- TclListObjLength_(NULL, matchesObj, &repair);
+ Tcl_ListObjLength(NULL, matchesObj, &repair);
copy = subdirv[i];
subdirv[i] = Tcl_NewStringObj("./", 2);
Tcl_AppendObjToObj(subdirv[i], copy);
@@ -2360,12 +2361,12 @@ DoGlob(
result = DoGlob(interp, matchesObj, separators, subdirv[i],
1, p+1, types);
if (copy) {
- int end;
+ size_t end;
Tcl_DecrRefCount(subdirv[i]);
subdirv[i] = copy;
- TclListObjLength_(NULL, matchesObj, &end);
- while (repair < end) {
+ Tcl_ListObjLength(NULL, matchesObj, &end);
+ while (repair + 1 <= end) {
const char *bytes;
size_t numBytes;
Tcl_Obj *fixme, *newObj;
@@ -2377,7 +2378,7 @@ DoGlob(
1, &newObj);
repair++;
}
- repair = -1;
+ repair = TCL_INDEX_NONE;
}
}
}