summaryrefslogtreecommitdiffstats
path: root/generic/tclZipfs.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2022-11-25 10:01:00 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2022-11-25 10:01:00 (GMT)
commit66e2117d2071a5ffe2c16ef8ff2ff39d6172b05b (patch)
treea7333c83aa348cafb9c56524fdbb131c9ca1da58 /generic/tclZipfs.c
parent0bc6d7d3414523f685b2a835bcb6cf73b3ff2e1a (diff)
downloadtcl-66e2117d2071a5ffe2c16ef8ff2ff39d6172b05b.zip
tcl-66e2117d2071a5ffe2c16ef8ff2ff39d6172b05b.tar.gz
tcl-66e2117d2071a5ffe2c16ef8ff2ff39d6172b05b.tar.bz2
Unbreak Windows build. More int -> size_t, being able to handle longer strings
Diffstat (limited to 'generic/tclZipfs.c')
-rw-r--r--generic/tclZipfs.c43
1 files changed, 23 insertions, 20 deletions
diff --git a/generic/tclZipfs.c b/generic/tclZipfs.c
index 45f65fe..93ff054 100644
--- a/generic/tclZipfs.c
+++ b/generic/tclZipfs.c
@@ -669,11 +669,11 @@ ToDosDate(
*-------------------------------------------------------------------------
*/
-static inline int
+static inline size_t
CountSlashes(
const char *string)
{
- int count = 0;
+ size_t count = 0;
const char *p = string;
while (*p != '\0') {
@@ -2391,7 +2391,7 @@ ZipFSMkKeyObjCmd(
int objc, /* Number of arguments. */
Tcl_Obj *const objv[]) /* Argument objects. */
{
- int len, i = 0;
+ size_t len, i = 0;
const char *pw;
Tcl_Obj *passObj;
unsigned char *passBuf;
@@ -2400,7 +2400,7 @@ ZipFSMkKeyObjCmd(
Tcl_WrongNumArgs(interp, 1, objv, "password");
return TCL_ERROR;
}
- pw = TclGetStringFromObj(objv[1], &len);
+ pw = Tcl_GetStringFromObj(objv[1], &len);
if (len == 0) {
return TCL_OK;
}
@@ -2918,16 +2918,16 @@ ComputeNameInArchive(
* archive */
const char *strip, /* A prefix to strip; may be NULL if no
* stripping need be done. */
- int slen) /* The length of the prefix; must be 0 if no
+ size_t slen) /* The length of the prefix; must be 0 if no
* stripping need be done. */
{
const char *name;
- int len;
+ size_t len;
if (directNameObj) {
name = TclGetString(directNameObj);
} else {
- name = TclGetStringFromObj(pathObj, &len);
+ name = Tcl_GetStringFromObj(pathObj, &len);
if (slen > 0) {
if ((len <= slen) || (strncmp(strip, name, slen) != 0)) {
/*
@@ -2990,8 +2990,8 @@ ZipFSMkZipOrImg(
* there's no password protection. */
{
Tcl_Channel out;
- int pwlen = 0, slen = 0, count, ret = TCL_ERROR;
- size_t lobjc, len, i = 0;
+ int pwlen = 0, count, ret = TCL_ERROR;
+ size_t slen = 0, lobjc, len, i = 0;
long long directoryStartOffset;
/* The overall file offset of the start of the
* central directory. */
@@ -3169,7 +3169,7 @@ ZipFSMkZipOrImg(
Tcl_InitHashTable(&fileHash, TCL_STRING_KEYS);
if (mappingList == NULL && stripPrefix != NULL) {
- strip = TclGetStringFromObj(stripPrefix, &slen);
+ strip = Tcl_GetStringFromObj(stripPrefix, &slen);
if (!slen) {
strip = NULL;
}
@@ -4998,7 +4998,8 @@ ZipFSMatchInDirectoryProc(
Tcl_HashEntry *hPtr;
Tcl_HashSearch search;
Tcl_Obj *normPathPtr = Tcl_FSGetNormalizedPath(NULL, pathPtr);
- int scnt, l, dirOnly = -1, prefixLen, strip = 0, mounts = 0, len;
+ int scnt, l, dirOnly = -1, strip = 0, mounts = 0;
+ size_t prefixLen, len;
char *pat, *prefix, *path;
Tcl_DString dsPref, *prefixBuf = NULL;
@@ -5014,13 +5015,13 @@ ZipFSMatchInDirectoryProc(
* The prefix that gets prepended to results.
*/
- prefix = TclGetStringFromObj(pathPtr, &prefixLen);
+ prefix = Tcl_GetStringFromObj(pathPtr, &prefixLen);
/*
* The (normalized) path we're searching.
*/
- path = TclGetStringFromObj(normPathPtr, &len);
+ path = Tcl_GetStringFromObj(normPathPtr, &len);
Tcl_DStringInit(&dsPref);
if (strcmp(prefix, path) == 0) {
@@ -5134,9 +5135,9 @@ ZipFSMatchMountPoints(
{
Tcl_HashEntry *hPtr;
Tcl_HashSearch search;
- int l, normLength;
- const char *path = TclGetStringFromObj(normPathPtr, &normLength);
- size_t len = (size_t) normLength;
+ size_t l, normLength;
+ const char *path = Tcl_GetStringFromObj(normPathPtr, &normLength);
+ size_t len = normLength;
if (len < 1) {
/*
@@ -5215,14 +5216,15 @@ ZipFSPathInFilesystemProc(
{
Tcl_HashEntry *hPtr;
Tcl_HashSearch search;
- int ret = -1, len;
+ int ret = -1;
+ size_t len;
char *path;
pathPtr = Tcl_FSGetNormalizedPath(NULL, pathPtr);
if (!pathPtr) {
return -1;
}
- path = TclGetStringFromObj(pathPtr, &len);
+ path = Tcl_GetStringFromObj(pathPtr, &len);
if (strncmp(path, ZIPFS_VOLUME, ZIPFS_VOLUME_LEN) != 0) {
return -1;
}
@@ -5362,7 +5364,8 @@ ZipFSFileAttrsGetProc(
Tcl_Obj *pathPtr,
Tcl_Obj **objPtrRef)
{
- int len, ret = TCL_OK;
+ size_t len;
+ int ret = TCL_OK;
char *path;
ZipEntry *z;
@@ -5370,7 +5373,7 @@ ZipFSFileAttrsGetProc(
if (!pathPtr) {
return -1;
}
- path = TclGetStringFromObj(pathPtr, &len);
+ path = Tcl_GetStringFromObj(pathPtr, &len);
ReadLock();
z = ZipFSLookup(path);
if (!z) {