*** generic/regc_cvec.c 1999/10/13 02:22:17 1.4 --- generic/regc_cvec.c 2002/01/29 06:41:31 *************** *** 120,127 **** chr *startp; /* beginning of text */ chr *endp; /* just past end of text */ { ! int len; ! int i; chr *s; chr *d; --- 120,127 ---- chr *startp; /* beginning of text */ chr *endp; /* just past end of text */ { ! size_t len; ! size_t i; chr *s; chr *d; *************** *** 172,178 **** int nranges; /* ... and this many ranges... */ int nmcces; /* ... and this many MCCEs */ { ! if (v->cv != NULL && nchrs <= v->cv->chrspace && nranges <= v->cv->rangespace && nmcces <= v->cv->mccespace) return clearcvec(v->cv); --- 172,178 ---- int nranges; /* ... and this many ranges... */ int nmcces; /* ... and this many MCCEs */ { ! if (v->cv != NULL && nchrs <= (int) v->cv->chrspace && nranges <= v->cv->rangespace && nmcces <= v->cv->mccespace) return clearcvec(v->cv); *** generic/regcustom.h 1999/10/13 02:22:17 1.4 --- generic/regcustom.h 2002/01/29 06:41:33 *************** *** 69,75 **** #endif /* interface types */ #define __REG_WIDE_T Tcl_UniChar ! #define __REG_REGOFF_T long /* not really right, but good enough... */ #define __REG_VOID_T VOID #define __REG_CONST CONST /* names and declarations */ --- 69,75 ---- #endif /* interface types */ #define __REG_WIDE_T Tcl_UniChar ! #define __REG_REGOFF_T size_t /* not really right, but good enough... */ #define __REG_VOID_T VOID #define __REG_CONST CONST /* names and declarations */ *** generic/rege_dfa.c 1999/08/05 01:16:57 1.6 --- generic/rege_dfa.c 2002/01/29 06:41:35 *************** *** 266,272 **** { struct dfa *d; size_t nss = cnfa->nstates * 2; ! int wordsper = (cnfa->nstates + UBITS - 1) / UBITS; struct smalldfa *smallwas = small; assert(cnfa != NULL && cnfa->nstates != 0); --- 266,272 ---- { struct dfa *d; size_t nss = cnfa->nstates * 2; ! int wordsper = (int)(cnfa->nstates + UBITS - 1) / UBITS; struct smalldfa *smallwas = small; assert(cnfa != NULL && cnfa->nstates != 0); *************** *** 313,319 **** } } ! d->nssets = (v->eflags®_SMALL) ? 7 : nss; d->nssused = 0; d->nstates = cnfa->nstates; d->ncolors = cnfa->ncolors; --- 313,319 ---- } } ! d->nssets = (v->eflags®_SMALL) ? 7 : (int) nss; d->nssused = 0; d->nstates = cnfa->nstates; d->ncolors = cnfa->ncolors; *************** *** 421,427 **** chr *start; /* where the attempt got started */ { struct cnfa *cnfa = d->cnfa; ! int i; unsigned h; struct carc *ca; struct sset *p; --- 421,427 ---- chr *start; /* where the attempt got started */ { struct cnfa *cnfa = d->cnfa; ! size_t i; unsigned h; struct carc *ca; struct sset *p; *************** *** 439,445 **** FDEBUG(("miss\n")); /* first, what set of states would we end up in? */ ! for (i = 0; i < d->wordsper; i++) d->work[i] = 0; ispost = 0; noprogress = 1; --- 439,445 ---- FDEBUG(("miss\n")); /* first, what set of states would we end up in? */ ! for (i = 0; i < (size_t) d->wordsper; i++) d->work[i] = 0; ispost = 0; noprogress = 1; *************** *** 493,499 **** if (i == 0) { /* nope, need a new cache entry */ p = getvacant(v, d, cp, start); assert(p != css); ! for (i = 0; i < d->wordsper; i++) p->states[i] = d->work[i]; p->hash = h; p->flags = (ispost) ? POSTSTATE : 0; --- 493,499 ---- if (i == 0) { /* nope, need a new cache entry */ p = getvacant(v, d, cp, start); assert(p != css); ! for (i = 0; i < (size_t) d->wordsper; i++) p->states[i] = d->work[i]; p->hash = h; p->flags = (ispost) ? POSTSTATE : 0; *** generic/regex.h 1999/10/13 02:22:17 1.5 --- generic/regex.h 2002/01/29 06:41:38 *************** *** 109,115 **** #endif /* interface types */ #define __REG_WIDE_T Tcl_UniChar ! #define __REG_REGOFF_T long /* not really right, but good enough... */ #define __REG_VOID_T VOID #define __REG_CONST CONST /* names and declarations */ --- 109,115 ---- #endif /* interface types */ #define __REG_WIDE_T Tcl_UniChar ! #define __REG_REGOFF_T size_t /* not really right, but good enough... */ #define __REG_VOID_T VOID #define __REG_CONST CONST /* names and declarations */ *** generic/regexec.c 2000/01/14 00:20:46 1.8 --- generic/regexec.c 2002/01/29 06:41:41 *************** *** 59,65 **** struct dfa { int nssets; /* size of cache */ int nssused; /* how many entries occupied yet */ ! int nstates; /* number of states */ int ncolors; /* length of outarc and inchain vectors */ int wordsper; /* length of state-set bitvectors */ struct sset *ssets; /* state-set cache */ --- 59,65 ---- struct dfa { int nssets; /* size of cache */ int nssused; /* how many entries occupied yet */ ! size_t nstates; /* number of states */ int ncolors; /* length of outarc and inchain vectors */ int wordsper; /* length of state-set bitvectors */ struct sset *ssets; /* state-set cache */ *** generic/regguts.h 1999/10/13 02:22:18 1.5 --- generic/regguts.h 2002/01/29 06:41:44 *************** *** 253,266 **** */ struct cvec { int nchrs; /* number of chrs */ ! int chrspace; /* number of chrs possible */ chr *chrs; /* pointer to vector of chrs */ int nranges; /* number of ranges (chr pairs) */ int rangespace; /* number of chrs possible */ chr *ranges; /* pointer to vector of chr pairs */ int nmcces; /* number of MCCEs */ int mccespace; /* number of MCCEs possible */ ! int nmccechrs; /* number of chrs used for MCCEs */ chr *mcces[1]; /* pointers to 0-terminated MCCEs */ /* and both batches of chrs are on the end */ }; --- 253,266 ---- */ struct cvec { int nchrs; /* number of chrs */ ! size_t chrspace; /* number of chrs possible */ chr *chrs; /* pointer to vector of chrs */ int nranges; /* number of ranges (chr pairs) */ int rangespace; /* number of chrs possible */ chr *ranges; /* pointer to vector of chr pairs */ int nmcces; /* number of MCCEs */ int mccespace; /* number of MCCEs possible */ ! size_t nmccechrs; /* number of chrs used for MCCEs */ chr *mcces[1]; /* pointers to 0-terminated MCCEs */ /* and both batches of chrs are on the end */ }; *************** *** 339,348 **** }; struct cnfa { ! int nstates; /* number of states */ int ncolors; /* number of colors */ int flags; ! # define HASLACONS 01 /* uses lookahead constraints */ int pre; /* setup state number */ int post; /* teardown state number */ color bos[2]; /* colors, if any, assigned to BOS and BOL */ --- 339,348 ---- }; struct cnfa { ! size_t nstates; /* number of states */ int ncolors; /* number of colors */ int flags; ! # define HASLACONS 01 /* uses lookahead constraints */ int pre; /* setup state number */ int post; /* teardown state number */ color bos[2]; /* colors, if any, assigned to BOS and BOL */ *** generic/tcl.decls 2002/01/25 21:36:09 1.79 --- generic/tcl.decls 2002/01/29 06:41:49 *************** *** 39,60 **** void Tcl_Panic(CONST char *format, ...) } declare 3 generic { ! char * Tcl_Alloc(unsigned int size) } declare 4 generic { void Tcl_Free(char *ptr) } declare 5 generic { ! char * Tcl_Realloc(char *ptr, unsigned int size) } declare 6 generic { ! char * Tcl_DbCkalloc(unsigned int size, CONST char *file, int line) } declare 7 generic { int Tcl_DbCkfree(char *ptr, CONST char *file, int line) } declare 8 generic { ! char * Tcl_DbCkrealloc(char *ptr, unsigned int size, CONST char *file, int line) } --- 39,60 ---- void Tcl_Panic(CONST char *format, ...) } declare 3 generic { ! char * Tcl_Alloc(size_t size) } declare 4 generic { void Tcl_Free(char *ptr) } declare 5 generic { ! char * Tcl_Realloc(char *ptr, size_t size) } declare 6 generic { ! char * Tcl_DbCkalloc(size_t size, CONST char *file, int line) } declare 7 generic { int Tcl_DbCkfree(char *ptr, CONST char *file, int line) } declare 8 generic { ! char * Tcl_DbCkrealloc(char *ptr, size_t size, CONST char *file, int line) } *************** *** 1511,1526 **** int flags, Tcl_CommandTraceProc *proc, ClientData clientData) } declare 428 generic { ! char * Tcl_AttemptAlloc(unsigned int size) } declare 429 generic { ! char * Tcl_AttemptDbCkalloc(unsigned int size, CONST char *file, int line) } declare 430 generic { ! char * Tcl_AttemptRealloc(char *ptr, unsigned int size) } declare 431 generic { ! char * Tcl_AttemptDbCkrealloc(char *ptr, unsigned int size, CONST char *file, int line) } declare 432 generic { --- 1511,1526 ---- int flags, Tcl_CommandTraceProc *proc, ClientData clientData) } declare 428 generic { ! char * Tcl_AttemptAlloc(size_t size) } declare 429 generic { ! char * Tcl_AttemptDbCkalloc(size_t size, CONST char *file, int line) } declare 430 generic { ! char * Tcl_AttemptRealloc(char *ptr, size_t size) } declare 431 generic { ! char * Tcl_AttemptDbCkrealloc(char *ptr, size_t size, CONST char *file, int line) } declare 432 generic { *** generic/tcl.h 2002/01/25 20:40:55 1.111 --- generic/tcl.h 2002/01/29 06:41:57 *************** *** 89,98 **** # ifndef HAS_STDARG # define HAS_STDARG 1 # endif - # ifndef USE_PROTOTYPE - # define USE_PROTOTYPE 1 - # endif - #endif /* __WIN32__ */ /* --- 89,94 ---- *************** *** 101,107 **** */ #ifdef MAC_TCL ! #include # ifndef HAS_STDARG # define HAS_STDARG 1 # endif --- 97,103 ---- */ #ifdef MAC_TCL ! # include # ifndef HAS_STDARG # define HAS_STDARG 1 # endif *************** *** 121,147 **** #define VERBATIM(x) x #ifdef _MSC_VER ! # define STRINGIFY(x) STRINGIFY1(x) ! # define STRINGIFY1(x) #x ! # define JOIN(a,b) JOIN1(a,b) ! # define JOIN1(a,b) a##b #else ! # ifdef RESOURCE_INCLUDED ! # define STRINGIFY(x) STRINGIFY1(x) ! # define STRINGIFY1(x) #x ! # define JOIN(a,b) JOIN1(a,b) ! # define JOIN1(a,b) a##b ! # else ! # ifdef __STDC__ ! # define STRINGIFY(x) #x ! # define JOIN(a,b) a##b ! # else ! # define STRINGIFY(x) "x" ! # define JOIN(a,b) VERBATIM(a)VERBATIM(b) ! # endif ! # endif #endif /* * Special macro to define mutexes, that doesn't do anything * if we are not using threads. --- 117,152 ---- #define VERBATIM(x) x #ifdef _MSC_VER ! # define STRINGIFY(x) STRINGIFY1(x) ! # define STRINGIFY1(x) #x ! # define JOIN(a,b) JOIN1(a,b) ! # define JOIN1(a,b) a##b #else ! # ifdef RESOURCE_INCLUDED ! # define STRINGIFY(x) STRINGIFY1(x) ! # define STRINGIFY1(x) #x ! # define JOIN(a,b) JOIN1(a,b) ! # define JOIN1(a,b) a##b ! # else ! # ifdef __STDC__ ! # define STRINGIFY(x) #x ! # define JOIN(a,b) a##b ! # else ! # define STRINGIFY(x) "x" ! # define JOIN(a,b) VERBATIM(a)VERBATIM(b) ! # endif ! # endif #endif + /* + * A special definition used to allow this header file to be included + * in resource files so that they can get obtain version information from + * this file. Resource compilers don't like all the C stuff, like typedefs + * and procedure declarations, that occur below. + */ + + #ifndef RESOURCE_INCLUDED + /* * Special macro to define mutexes, that doesn't do anything * if we are not using threads. *************** *** 167,181 **** #define Tcl_ConditionFinalize(condPtr) #endif /* TCL_THREADS */ - /* - * A special definition used to allow this header file to be included - * in resource files so that they can get obtain version information from - * this file. Resource compilers don't like all the C stuff, like typedefs - * and procedure declarations, that occur below. - */ - - #ifndef RESOURCE_INCLUDED - #ifndef BUFSIZ #include #endif --- 172,177 ---- *************** *** 249,261 **** #undef TCL_STORAGE_CLASS #ifdef BUILD_tcl ! # define TCL_STORAGE_CLASS DLLEXPORT #else ! # ifdef USE_TCL_STUBS ! # define TCL_STORAGE_CLASS ! # else ! # define TCL_STORAGE_CLASS DLLIMPORT ! # endif #endif /* --- 245,257 ---- #undef TCL_STORAGE_CLASS #ifdef BUILD_tcl ! # define TCL_STORAGE_CLASS DLLEXPORT #else ! # ifdef USE_TCL_STUBS ! # define TCL_STORAGE_CLASS ! # else ! # define TCL_STORAGE_CLASS DLLIMPORT ! # endif #endif /* *************** *** 325,334 **** #endif #ifndef _CLIENTDATA ! # if defined(__STDC__) || defined(__cplusplus) || defined(__BORLANDC__) ! typedef void *ClientData; # else ! typedef int *ClientData; # endif /* __STDC__ */ #define _CLIENTDATA #endif --- 321,330 ---- #endif #ifndef _CLIENTDATA ! # if defined(__STDC__) || defined(__cplusplus) || defined(__BORLANDC__) || defined(_MSC_VER) ! typedef void * ClientData; # else ! typedef int * ClientData; # endif /* __STDC__ */ #define _CLIENTDATA #endif *************** *** 409,420 **** typedef void (Tcl_ThreadCreateProc) _ANSI_ARGS_((ClientData clientData)); #endif - /* * Threading function return types used for abstracting away platform * differences when writing a Tcl_ThreadCreateProc. See the NewThread * function in generic/tclThreadTest.c for it's usage. */ #ifdef MAC_TCL # define Tcl_ThreadCreateType pascal void * # define TCL_THREAD_CREATE_RETURN return NULL --- 405,416 ---- typedef void (Tcl_ThreadCreateProc) _ANSI_ARGS_((ClientData clientData)); #endif /* * Threading function return types used for abstracting away platform * differences when writing a Tcl_ThreadCreateProc. See the NewThread * function in generic/tclThreadTest.c for it's usage. */ + #ifdef MAC_TCL # define Tcl_ThreadCreateType pascal void * # define TCL_THREAD_CREATE_RETURN return NULL *************** *** 426,433 **** # define TCL_THREAD_CREATE_RETURN #endif - - /* * Definition of values for default stacksize and the possible flags to be * given to Tcl_CreateThread. --- 422,427 ---- *************** *** 663,669 **** * Clients should use Tcl_GetStringFromObj * or Tcl_GetString to get a pointer to the * byte array as a readonly value. */ ! int length; /* The number of bytes at *bytes, not * including the terminating null. */ Tcl_ObjType *typePtr; /* Denotes the object's type. Always * corresponds to the type of the object's --- 657,663 ---- * Clients should use Tcl_GetStringFromObj * or Tcl_GetString to get a pointer to the * byte array as a readonly value. */ ! size_t length; /* The number of bytes at *bytes, not * including the terminating null. */ Tcl_ObjType *typePtr; /* Denotes the object's type. Always * corresponds to the type of the object's *************** *** 691,699 **** * expression that is expensive to compute or has side effects. */ ! void Tcl_IncrRefCount _ANSI_ARGS_((Tcl_Obj *objPtr)); ! void Tcl_DecrRefCount _ANSI_ARGS_((Tcl_Obj *objPtr)); ! int Tcl_IsShared _ANSI_ARGS_((Tcl_Obj *objPtr)); #ifdef TCL_MEM_DEBUG # define Tcl_IncrRefCount(objPtr) \ --- 685,693 ---- * expression that is expensive to compute or has side effects. */ ! void Tcl_IncrRefCount _ANSI_ARGS_((Tcl_Obj *objPtr)); ! void Tcl_DecrRefCount _ANSI_ARGS_((Tcl_Obj *objPtr)); ! int Tcl_IsShared _ANSI_ARGS_((Tcl_Obj *objPtr)); #ifdef TCL_MEM_DEBUG # define Tcl_IncrRefCount(objPtr) \ *************** *** 1268,1274 **** #define TCL_SERVICE_ALL 1 /* ! * The following structure keeps is used to hold a time value, either as * an absolute time (the number of seconds from the epoch) or as an * elapsed time. On Unix systems the epoch is Midnight Jan 1, 1970 GMT. * On Macintosh systems the epoch is Midnight Jan 1, 1904 GMT. --- 1262,1268 ---- #define TCL_SERVICE_ALL 1 /* ! * The following structure is used to hold a time value, either as * an absolute time (the number of seconds from the epoch) or as an * elapsed time. On Unix systems the epoch is Midnight Jan 1, 1970 GMT. * On Macintosh systems the epoch is Midnight Jan 1, 1904 GMT. *************** *** 1369,1374 **** --- 1363,1369 ---- # define ckrealloc(x,y) Tcl_DbCkrealloc((x), (y),__FILE__, __LINE__) # define attemptckalloc(x) Tcl_AttemptDbCkalloc(x, __FILE__, __LINE__) # define attemptckrealloc(x,y) Tcl_AttemptDbCkrealloc((x), (y), __FILE__, __LINE__) + #else /* !TCL_MEM_DEBUG */ /* *** generic/tclAlloc.c 2001/09/06 10:16:45 1.11 --- generic/tclAlloc.c 2002/01/29 06:42:00 *************** *** 249,255 **** char * TclpAlloc(nbytes) ! unsigned int nbytes; /* Number of bytes to allocate. */ { register union overhead *op; register long bucket; --- 249,255 ---- char * TclpAlloc(nbytes) ! size_t nbytes; /* Number of bytes to allocate. */ { register union overhead *op; register long bucket; *************** *** 392,399 **** nblks = amt / sz; ASSERT(nblks*sz == amt); ! blockPtr = (struct block *) TclpSysAlloc((unsigned) ! (sizeof(struct block) + amt), 1); /* no more room! */ if (blockPtr == NULL) { return; --- 392,398 ---- nblks = amt / sz; ASSERT(nblks*sz == amt); ! blockPtr = (struct block *) TclpSysAlloc(sizeof(struct block) + amt, 1); /* no more room! */ if (blockPtr == NULL) { return; *************** *** 495,507 **** char * TclpRealloc(cp, nbytes) char *cp; /* Pointer to alloced block. */ ! unsigned int nbytes; /* New size of memory. */ { int i; union overhead *op; struct block *bigBlockPtr; int expensive; ! unsigned long maxsize; if (cp == NULL) { return (TclpAlloc(nbytes)); --- 494,506 ---- char * TclpRealloc(cp, nbytes) char *cp; /* Pointer to alloced block. */ ! size_t nbytes; /* New size of memory. */ { int i; union overhead *op; struct block *bigBlockPtr; int expensive; ! size_t maxsize; if (cp == NULL) { return (TclpAlloc(nbytes)); *************** *** 583,589 **** maxsize -= OVERHEAD; if ( maxsize < nbytes ) nbytes = maxsize; ! memcpy((VOID *) newp, (VOID *) cp, (size_t) nbytes); TclpFree(cp); return newp; } --- 582,588 ---- maxsize -= OVERHEAD; if ( maxsize < nbytes ) nbytes = maxsize; ! memcpy((VOID *) newp, (VOID *) cp, nbytes); TclpFree(cp); return newp; } *************** *** 667,673 **** char * TclpAlloc(nbytes) ! unsigned int nbytes; /* Number of bytes to allocate. */ { return (char*) malloc(nbytes); } --- 666,672 ---- char * TclpAlloc(nbytes) ! size_t nbytes; /* Number of bytes to allocate. */ { return (char*) malloc(nbytes); } *************** *** 715,721 **** char * TclpRealloc(cp, nbytes) char *cp; /* Pointer to alloced block. */ ! unsigned int nbytes; /* New size of memory. */ { return (char*) realloc(cp, nbytes); } --- 714,720 ---- char * TclpRealloc(cp, nbytes) char *cp; /* Pointer to alloced block. */ ! size_t nbytes; /* New size of memory. */ { return (char*) realloc(cp, nbytes); } *** generic/tclBasic.c 2002/01/29 02:40:49 1.45 --- generic/tclBasic.c 2002/01/29 06:42:13 *************** *** 1800,1806 **** Command *cmdPtr = (Command *) clientData; register Tcl_Obj *objPtr; register int i; ! int length, result; /* * This procedure generates an objv array for object arguments that hold --- 1800,1807 ---- Command *cmdPtr = (Command *) clientData; register Tcl_Obj *objPtr; register int i; ! size_t length; ! int result; /* * This procedure generates an objv array for object arguments that hold *************** *** 2897,2913 **** */ if (argv == NULL) { ! argv = (char **) ckalloc((unsigned) (objc + 1) * sizeof(char *)); for (i = 0; i < objc; i++) { argv[i] = Tcl_GetString(objv[i]); } argv[objc] = 0; if (length < 0) { ! length = strlen(command); ! } else if ((size_t)length < strlen(command)) { ! commandCopy = (char *) ckalloc((unsigned) (length + 1)); ! strncpy(commandCopy, command, (size_t) length); commandCopy[length] = 0; } } --- 2898,2914 ---- */ if (argv == NULL) { ! argv = (char **) ckalloc((objc + 1) * sizeof(char *)); for (i = 0; i < objc; i++) { argv[i] = Tcl_GetString(objv[i]); } argv[objc] = 0; if (length < 0) { ! length = (int) strlen(command); ! } else if ((size_t) length < strlen(command)) { ! commandCopy = (char *) ckalloc(length + 1); ! strncpy(commandCopy, command, length); commandCopy[length] = 0; } } *************** *** 3102,3108 **** */ if (length < 0) { ! length = strlen(command); } if (length > 150) { length = 150; --- 3103,3109 ---- */ if (length < 0) { ! length = (int) strlen(command); } if (length > 150) { length = 150; *************** *** 3394,3400 **** int gotParse = 0, objectsUsed = 0; if (numBytes < 0) { ! numBytes = strlen(script); } Tcl_ResetResult(interp); --- 3395,3401 ---- int gotParse = 0, objectsUsed = 0; if (numBytes < 0) { ! numBytes = (int) strlen(script); } Tcl_ResetResult(interp); *************** *** 3477,3483 **** */ next = parse.commandStart + parse.commandSize; ! bytesLeft -= next - p; p = next; Tcl_FreeParse(&parse); gotParse = 0; --- 3478,3484 ---- */ next = parse.commandStart + parse.commandSize; ! bytesLeft -= (int) (next - p); p = next; Tcl_FreeParse(&parse); gotParse = 0; *************** *** 3488,3499 **** * bracket in the script. Return immediately. */ ! iPtr->termOffset = (p - 1) - script; iPtr->varFramePtr = savedVarFramePtr; return TCL_OK; } } while (bytesLeft > 0); ! iPtr->termOffset = p - script; iPtr->varFramePtr = savedVarFramePtr; return TCL_OK; --- 3489,3500 ---- * bracket in the script. Return immediately. */ ! iPtr->termOffset = (int) ((p - 1) - script); iPtr->varFramePtr = savedVarFramePtr; return TCL_OK; } } while (bytesLeft > 0); ! iPtr->termOffset = (int) (p - script); iPtr->varFramePtr = savedVarFramePtr; return TCL_OK; *************** *** 3525,3531 **** } if (gotParse) { next = parse.commandStart + parse.commandSize; ! bytesLeft -= next - p; p = next; Tcl_FreeParse(&parse); --- 3526,3532 ---- } if (gotParse) { next = parse.commandStart + parse.commandSize; ! bytesLeft -= (int) (next - p); p = next; Tcl_FreeParse(&parse); *************** *** 3565,3577 **** */ next = parse.commandStart + parse.commandSize; ! bytesLeft -= next - p; p = next; Tcl_FreeParse(&parse); } ! iPtr->termOffset = (p - 1) - script; } else { ! iPtr->termOffset = p - script; } } if (objv != staticObjArray) { --- 3566,3578 ---- */ next = parse.commandStart + parse.commandSize; ! bytesLeft -= (int) (next - p); p = next; Tcl_FreeParse(&parse); } ! iPtr->termOffset = (int) ((p - 1) - script); } else { ! iPtr->termOffset = (int) (p - script); } } if (objv != staticObjArray) { *************** *** 3841,3851 **** { register Tcl_Obj *exprPtr; Tcl_Obj *resultPtr; ! int length = strlen(string); int result = TCL_OK; if (length > 0) { ! exprPtr = Tcl_NewStringObj(string, length); Tcl_IncrRefCount(exprPtr); result = Tcl_ExprObj(interp, exprPtr, &resultPtr); if (result == TCL_OK) { --- 3842,3852 ---- { register Tcl_Obj *exprPtr; Tcl_Obj *resultPtr; ! size_t length = strlen(string); int result = TCL_OK; if (length > 0) { ! exprPtr = Tcl_NewStringObj(string, (int) length); Tcl_IncrRefCount(exprPtr); result = Tcl_ExprObj(interp, exprPtr, &resultPtr); if (result == TCL_OK) { *************** *** 3892,3902 **** { register Tcl_Obj *exprPtr; Tcl_Obj *resultPtr; ! int length = strlen(string); int result = TCL_OK; if (length > 0) { ! exprPtr = Tcl_NewStringObj(string, length); Tcl_IncrRefCount(exprPtr); result = Tcl_ExprObj(interp, exprPtr, &resultPtr); if (result == TCL_OK) { --- 3893,3903 ---- { register Tcl_Obj *exprPtr; Tcl_Obj *resultPtr; ! size_t length = strlen(string); int result = TCL_OK; if (length > 0) { ! exprPtr = Tcl_NewStringObj(string, (int) length); Tcl_IncrRefCount(exprPtr); result = Tcl_ExprObj(interp, exprPtr, &resultPtr); if (result == TCL_OK) { *************** *** 3943,3953 **** { register Tcl_Obj *exprPtr; Tcl_Obj *resultPtr; ! int length = strlen(string); int result = TCL_OK; if (length > 0) { ! exprPtr = Tcl_NewStringObj(string, length); Tcl_IncrRefCount(exprPtr); result = Tcl_ExprObj(interp, exprPtr, &resultPtr); if (result == TCL_OK) { --- 3944,3954 ---- { register Tcl_Obj *exprPtr; Tcl_Obj *resultPtr; ! size_t length = strlen(string); int result = TCL_OK; if (length > 0) { ! exprPtr = Tcl_NewStringObj(string, (int) length); Tcl_IncrRefCount(exprPtr); result = Tcl_ExprObj(interp, exprPtr, &resultPtr); if (result == TCL_OK) { *************** *** 4115,4121 **** { register Tcl_Obj *objPtr; register int i; ! int length, result; /* * This procedure generates an objv array for object arguments that hold --- 4116,4123 ---- { register Tcl_Obj *objPtr; register int i; ! int result; ! size_t length; /* * This procedure generates an objv array for object arguments that hold *************** *** 4140,4146 **** for (i = 0; i < argc; i++) { length = strlen(argv[i]); ! objv[i] = Tcl_NewStringObj(argv[i], length); Tcl_IncrRefCount(objv[i]); } objv[argc] = 0; --- 4142,4148 ---- for (i = 0; i < argc; i++) { length = strlen(argv[i]); ! objv[i] = Tcl_NewStringObj(argv[i], (int) length); Tcl_IncrRefCount(objv[i]); } objv[argc] = 0; *************** *** 4463,4469 **** { register Tcl_Obj *exprPtr; Tcl_Obj *resultPtr; ! int length = strlen(string); char buf[TCL_DOUBLE_SPACE]; int result = TCL_OK; --- 4465,4471 ---- { register Tcl_Obj *exprPtr; Tcl_Obj *resultPtr; ! size_t length = strlen(string); char buf[TCL_DOUBLE_SPACE]; int result = TCL_OK; *** generic/tclBinary.c 2002/01/17 04:37:33 1.11 --- generic/tclBinary.c 2002/01/29 06:42:18 *************** *** 407,413 **** *dst++ = (unsigned char) ch; } ! byteArrayPtr->used = dst - byteArrayPtr->bytes; byteArrayPtr->allocated = length; if ((typePtr != NULL) && (typePtr->freeIntRepProc) != NULL) { --- 407,413 ---- *dst++ = (unsigned char) ch; } ! byteArrayPtr->used = (int) (dst - byteArrayPtr->bytes); byteArrayPtr->allocated = length; if ((typePtr != NULL) && (typePtr->freeIntRepProc) != NULL) { *** generic/tclCkalloc.c 2002/01/25 20:40:55 1.15 --- generic/tclCkalloc.c 2002/01/29 06:42:22 *************** *** 995,1001 **** char * Tcl_Alloc (size) ! unsigned int size; { char *result; --- 995,1001 ---- char * Tcl_Alloc (size) ! size_t size; { char *result; *************** *** 1017,1023 **** char * Tcl_DbCkalloc(size, file, line) ! unsigned int size; CONST char *file; int line; { --- 1017,1023 ---- char * Tcl_DbCkalloc(size, file, line) ! size_t size; CONST char *file; int line; { *************** *** 1044,1050 **** char * Tcl_AttemptAlloc (size) ! unsigned int size; { char *result; --- 1044,1050 ---- char * Tcl_AttemptAlloc (size) ! size_t size; { char *result; *************** *** 1054,1060 **** char * Tcl_AttemptDbCkalloc(size, file, line) ! unsigned int size; CONST char *file; int line; { --- 1054,1060 ---- char * Tcl_AttemptDbCkalloc(size, file, line) ! size_t size; CONST char *file; int line; { *************** *** 1078,1084 **** char * Tcl_Realloc(ptr, size) char *ptr; ! unsigned int size; { char *result; --- 1078,1084 ---- char * Tcl_Realloc(ptr, size) char *ptr; ! size_t size; { char *result; *************** *** 1093,1099 **** char * Tcl_DbCkrealloc(ptr, size, file, line) char *ptr; ! unsigned int size; CONST char *file; int line; { --- 1093,1099 ---- char * Tcl_DbCkrealloc(ptr, size, file, line) char *ptr; ! size_t size; CONST char *file; int line; { *************** *** 1121,1127 **** char * Tcl_AttemptRealloc(ptr, size) char *ptr; ! unsigned int size; { char *result; --- 1121,1127 ---- char * Tcl_AttemptRealloc(ptr, size) char *ptr; ! size_t size; { char *result; *************** *** 1132,1138 **** char * Tcl_AttemptDbCkrealloc(ptr, size, file, line) char *ptr; ! unsigned int size; CONST char *file; int line; { --- 1132,1138 ---- char * Tcl_AttemptDbCkrealloc(ptr, size, file, line) char *ptr; ! size_t size; CONST char *file; int line; { *** generic/tclClock.c 2002/01/25 20:40:55 1.14 --- generic/tclClock.c 2002/01/29 06:42:24 *************** *** 261,267 **** Tcl_DString buffer, uniBuffer; int bufSize; char *p; ! int result; time_t tclockVal; #ifndef HAVE_TM_ZONE int savedTimeZone = 0; /* lint. */ --- 261,267 ---- Tcl_DString buffer, uniBuffer; int bufSize; char *p; ! size_t result; time_t tclockVal; #ifndef HAVE_TM_ZONE int savedTimeZone = 0; /* lint. */ *** generic/tclCmdAH.c 2002/01/26 01:10:08 1.20 --- generic/tclCmdAH.c 2002/01/29 06:42:30 *************** *** 1936,1942 **** while ((*format != '%') && (format < endPtr)) { format++; } ! size = format - ptrValue; noPercent = 1; goto doField; } --- 1936,1942 ---- while ((*format != '%') && (format < endPtr)) { format++; } ! size = (int) (format - ptrValue); noPercent = 1; goto doField; } *************** *** 2120,2126 **** if (gotPrecision && (precision < stringLen)) { stringLen = precision; } ! size = Tcl_UtfAtIndex(ptrValue, stringLen) - ptrValue; if (width > stringLen) { size += (width - stringLen); } --- 2120,2126 ---- if (gotPrecision && (precision < stringLen)) { stringLen = precision; } ! size = (int) (Tcl_UtfAtIndex(ptrValue, stringLen) - ptrValue); if (width > stringLen) { size += (width - stringLen); } *************** *** 2230,2236 **** } } ! size = Tcl_UtfAtIndex(ptrValue, stringLen) - ptrValue; if (size) { memcpy(ptr, ptrValue, (size_t) size); ptr += size; --- 2230,2236 ---- } } ! size = (int) (Tcl_UtfAtIndex(ptrValue, stringLen) - ptrValue); if (size) { memcpy(ptr, ptrValue, (size_t) size); ptr += size; *** generic/tclCmdIL.c 2002/01/26 01:10:08 1.40 --- generic/tclCmdIL.c 2002/01/29 06:42:39 *************** *** 585,591 **** */ bodyPtr = procPtr->bodyPtr; ! resultPtr = Tcl_NewStringObj(bodyPtr->bytes, bodyPtr->length); Tcl_SetObjResult(interp, resultPtr); return TCL_OK; --- 585,591 ---- */ bodyPtr = procPtr->bodyPtr; ! resultPtr = Tcl_NewStringObj(bodyPtr->bytes, (int) bodyPtr->length); Tcl_SetObjResult(interp, resultPtr); return TCL_OK; *** generic/tclCmdMZ.c 2002/01/21 16:15:03 1.56 --- generic/tclCmdMZ.c 2002/01/29 06:42:48 *************** *** 641,647 **** } else if ((ch == '\\') || (ch == '&')) { *wsrc = ch; Tcl_AppendUnicodeToObj(resultPtr, wfirstChar, ! wsrc - wfirstChar + 1); *wsrc = '\\'; wfirstChar = wsrc + 2; wsrc++; --- 641,647 ---- } else if ((ch == '\\') || (ch == '&')) { *wsrc = ch; Tcl_AppendUnicodeToObj(resultPtr, wfirstChar, ! (int) (wsrc - wfirstChar + 1)); *wsrc = '\\'; wfirstChar = wsrc + 2; wsrc++; *************** *** 654,660 **** } if (wfirstChar != wsrc) { Tcl_AppendUnicodeToObj(resultPtr, wfirstChar, ! wsrc - wfirstChar); } if (idx <= info.nsubs) { subStart = info.matches[idx].start; --- 654,660 ---- } if (wfirstChar != wsrc) { Tcl_AppendUnicodeToObj(resultPtr, wfirstChar, ! (int) (wsrc - wfirstChar)); } if (idx <= info.nsubs) { subStart = info.matches[idx].start; *************** *** 670,676 **** wfirstChar = wsrc + 1; } if (wfirstChar != wsrc) { ! Tcl_AppendUnicodeToObj(resultPtr, wfirstChar, wsrc - wfirstChar); } if (end == 0) { /* --- 670,677 ---- wfirstChar = wsrc + 1; } if (wfirstChar != wsrc) { ! Tcl_AppendUnicodeToObj(resultPtr, wfirstChar, ! (int) (wsrc - wfirstChar)); } if (end == 0) { /* *************** *** 983,996 **** for (p = splitChars; p < splitEnd; p += splitLen) { splitLen = Tcl_UtfToUniChar(p, &splitChar); if (ch == splitChar) { ! objPtr = Tcl_NewStringObj(element, string - element); Tcl_ListObjAppendElement(NULL, listPtr, objPtr); element = string + len; break; } } } ! objPtr = Tcl_NewStringObj(element, string - element); Tcl_ListObjAppendElement(NULL, listPtr, objPtr); } return TCL_OK; --- 984,997 ---- for (p = splitChars; p < splitEnd; p += splitLen) { splitLen = Tcl_UtfToUniChar(p, &splitChar); if (ch == splitChar) { ! objPtr = Tcl_NewStringObj(element, (int) (string - element)); Tcl_ListObjAppendElement(NULL, listPtr, objPtr); element = string + len; break; } } } ! objPtr = Tcl_NewStringObj(element, (int) (string - element)); Tcl_ListObjAppendElement(NULL, listPtr, objPtr); } return TCL_OK; *************** *** 1287,1293 **** if ((*p == *ustring1) && (Tcl_UniCharNcmp(ustring1, p, (unsigned long) length1) == 0)) { ! match = p - ustring2; break; } } --- 1288,1294 ---- if ((*p == *ustring1) && (Tcl_UniCharNcmp(ustring1, p, (unsigned long) length1) == 0)) { ! match = (int) (p - ustring2); break; } } *************** *** 1525,1531 **** * and then we go onto SPACE, since we are * allowed trailing whitespace */ ! failat = stop - string1; string1 = stop; chcomp = Tcl_UniCharIsSpace; } --- 1526,1532 ---- * and then we go onto SPACE, since we are * allowed trailing whitespace */ ! failat = (int) (stop - string1); string1 = stop; chcomp = Tcl_UniCharIsSpace; } *************** *** 1567,1573 **** * and then we go onto SPACE, since we are * allowed trailing whitespace */ ! failat = stop - string1; string1 = stop; chcomp = Tcl_UniCharIsSpace; } --- 1568,1574 ---- * and then we go onto SPACE, since we are * allowed trailing whitespace */ ! failat = (int) (stop - string1); string1 = stop; chcomp = Tcl_UniCharIsSpace; } *************** *** 1674,1680 **** if ((*p == *ustring1) && (memcmp((char *) ustring1, (char *) p, (size_t) (length1 * sizeof(Tcl_UniChar))) == 0)) { ! match = p - ustring2; break; } } --- 1675,1681 ---- if ((*p == *ustring1) && (memcmp((char *) ustring1, (char *) p, (size_t) (length1 * sizeof(Tcl_UniChar))) == 0)) { ! match = (int) (p - ustring2); break; } } *************** *** 1789,1795 **** (unsigned long) length2) == 0)) { if (p != ustring1) { Tcl_AppendUnicodeToObj(resultPtr, p, ! ustring1 - p); p = ustring1 + length2; } else { p += length2; --- 1790,1796 ---- (unsigned long) length2) == 0)) { if (p != ustring1) { Tcl_AppendUnicodeToObj(resultPtr, p, ! (int) (ustring1 - p)); p = ustring1 + length2; } else { p += length2; *************** *** 1830,1836 **** * Put the skipped chars onto the result first */ Tcl_AppendUnicodeToObj(resultPtr, p, ! ustring1 - p); p = ustring1 + length2; } else { p += length2; --- 1831,1837 ---- * Put the skipped chars onto the result first */ Tcl_AppendUnicodeToObj(resultPtr, p, ! (int) (ustring1 - p)); p = ustring1 + length2; } else { p += length2; *************** *** 1856,1862 **** /* * Put the rest of the unmapped chars onto result */ ! Tcl_AppendUnicodeToObj(resultPtr, p, ustring1 - p); } break; } --- 1857,1863 ---- /* * Put the rest of the unmapped chars onto result */ ! Tcl_AppendUnicodeToObj(resultPtr, p, (int) (ustring1 - p)); } break; } *************** *** 2051,2057 **** } start = Tcl_UtfAtIndex(string1, first); end = Tcl_UtfAtIndex(start, last - first + 1); ! length2 = end-start; string2 = ckalloc((size_t) length2+1); memcpy(string2, start, (size_t) length2); string2[length2] = '\0'; --- 2052,2058 ---- } start = Tcl_UtfAtIndex(string1, first); end = Tcl_UtfAtIndex(start, last - first + 1); ! length2 = (int) (end-start); string2 = ckalloc((size_t) length2+1); memcpy(string2, start, (size_t) length2); string2[length2] = '\0'; *************** *** 2062,2068 **** } else { length2 = Tcl_UtfToTitle(string2); } ! Tcl_SetStringObj(resultPtr, string1, start - string1); Tcl_AppendToObj(resultPtr, string2, length2); Tcl_AppendToObj(resultPtr, end, -1); ckfree(string2); --- 2063,2069 ---- } else { length2 = Tcl_UtfToTitle(string2); } ! Tcl_SetStringObj(resultPtr, string1, (int) (start - string1)); Tcl_AppendToObj(resultPtr, string2, length2); Tcl_AppendToObj(resultPtr, end, -1); ckfree(string2); *************** *** 2083,2089 **** string2 = Tcl_GetStringFromObj(objv[3], &length2); } else if (objc == 3) { string2 = " \t\n\r"; ! length2 = strlen(string2); } else { Tcl_WrongNumArgs(interp, 2, objv, "string ?chars?"); return TCL_ERROR; --- 2084,2090 ---- string2 = Tcl_GetStringFromObj(objv[3], &length2); } else if (objc == 3) { string2 = " \t\n\r"; ! length2 = (int) strlen(string2); } else { Tcl_WrongNumArgs(interp, 2, objv, "string ?chars?"); return TCL_ERROR; *************** *** 2356,2362 **** switch (*p) { case 0: if (p != old) { ! Tcl_AppendToObj(resultObj, old, p-old); } return resultObj; --- 2357,2363 ---- switch (*p) { case 0: if (p != old) { ! Tcl_AppendToObj(resultObj, old, (int) (p-old)); } return resultObj; *************** *** 2366,2372 **** int count; if (p != old) { ! Tcl_AppendToObj(resultObj, old, p-old); } Tcl_AppendToObj(resultObj, buf, Tcl_UtfBackslash(p, &count, buf)); --- 2367,2373 ---- int count; if (p != old) { ! Tcl_AppendToObj(resultObj, old, (int) (p-old)); } Tcl_AppendToObj(resultObj, buf, Tcl_UtfBackslash(p, &count, buf)); *************** *** 2404,2410 **** break; } if (p != old) { ! Tcl_AppendToObj(resultObj, old, p-old); } p += parse.tokenPtr->size; code = Tcl_EvalTokensStandard(interp, parse.tokenPtr, --- 2405,2411 ---- break; } if (p != old) { ! Tcl_AppendToObj(resultObj, old, (int) (p-old)); } p += parse.tokenPtr->size; code = Tcl_EvalTokensStandard(interp, parse.tokenPtr, *************** *** 2426,2432 **** int code; if (p != old) { ! Tcl_AppendToObj(resultObj, old, p-old); } iPtr->evalFlags = TCL_BRACKET_TERM; code = Tcl_EvalEx(interp, p+1, -1, 0); --- 2427,2433 ---- int code; if (p != old) { ! Tcl_AppendToObj(resultObj, old, (int) (p-old)); } iPtr->evalFlags = TCL_BRACKET_TERM; code = Tcl_EvalEx(interp, p+1, -1, 0); *** generic/tclCompCmds.c 2002/01/29 02:40:50 1.22 --- generic/tclCompCmds.c 2002/01/29 06:42:57 *************** *** 309,320 **** */ if (cmdTokenPtr->type == TCL_TOKEN_SIMPLE_WORD) { ! startOffset = (envPtr->codeNext - envPtr->codeStart); code = TclCompileCmdWord(interp, cmdTokenPtr+1, 1, envPtr); } else { code = TclCompileTokens(interp, cmdTokenPtr+1, cmdTokenPtr->numComponents, envPtr); ! startOffset = (envPtr->codeNext - envPtr->codeStart); TclEmitOpcode(INST_EVAL_STK, envPtr); } envPtr->exceptArrayPtr[range].codeOffset = startOffset; --- 309,320 ---- */ if (cmdTokenPtr->type == TCL_TOKEN_SIMPLE_WORD) { ! startOffset = (int) (envPtr->codeNext - envPtr->codeStart); code = TclCompileCmdWord(interp, cmdTokenPtr+1, 1, envPtr); } else { code = TclCompileTokens(interp, cmdTokenPtr+1, cmdTokenPtr->numComponents, envPtr); ! startOffset = (int) (envPtr->codeNext - envPtr->codeStart); TclEmitOpcode(INST_EVAL_STK, envPtr); } envPtr->exceptArrayPtr[range].codeOffset = startOffset; *************** *** 328,334 **** goto done; } envPtr->exceptArrayPtr[range].numCodeBytes = ! (envPtr->codeNext - envPtr->codeStart) - startOffset; /* * The "no errors" epilogue code: store the body's result into the --- 328,334 ---- goto done; } envPtr->exceptArrayPtr[range].numCodeBytes = ! (int) (envPtr->codeNext - envPtr->codeStart) - startOffset; /* * The "no errors" epilogue code: store the body's result into the *************** *** 356,362 **** envPtr->currStackDepth = savedStackDepth; envPtr->exceptArrayPtr[range].catchOffset = ! (envPtr->codeNext - envPtr->codeStart); if (localIndex != -1) { TclEmitOpcode(INST_PUSH_RESULT, envPtr); if (localIndex <= 255) { --- 356,362 ---- envPtr->currStackDepth = savedStackDepth; envPtr->exceptArrayPtr[range].catchOffset = ! (int) (envPtr->codeNext - envPtr->codeStart); if (localIndex != -1) { TclEmitOpcode(INST_PUSH_RESULT, envPtr); if (localIndex <= 255) { *************** *** 374,380 **** * an endCatch instruction at the end of the catch command. */ ! jumpDist = (envPtr->codeNext - envPtr->codeStart) - jumpFixup.codeOffset; if (TclFixupForwardJump(envPtr, &jumpFixup, jumpDist, 127)) { panic("TclCompileCatchCmd: bad jump distance %d\n", jumpDist); --- 374,380 ---- * an endCatch instruction at the end of the catch command. */ ! jumpDist = (int) (envPtr->codeNext - envPtr->codeStart) - jumpFixup.codeOffset; if (TclFixupForwardJump(envPtr, &jumpFixup, jumpDist, 127)) { panic("TclCompileCatchCmd: bad jump distance %d\n", jumpDist); *************** *** 571,577 **** */ envPtr->currStackDepth = savedStackDepth; ! testCodeOffset = (envPtr->codeNext - envPtr->codeStart); code = TclCompileExprWords(interp, testTokenPtr, 1, envPtr); envPtr->currStackDepth = savedStackDepth + 1; if (code != TCL_OK) { --- 571,577 ---- */ envPtr->currStackDepth = savedStackDepth; ! testCodeOffset = (int) (envPtr->codeNext - envPtr->codeStart); code = TclCompileExprWords(interp, testTokenPtr, 1, envPtr); envPtr->currStackDepth = savedStackDepth + 1; if (code != TCL_OK) { *************** *** 589,595 **** envPtr->currStackDepth = savedStackDepth; envPtr->exceptArrayPtr[bodyRange].codeOffset = ! (envPtr->codeNext - envPtr->codeStart); code = TclCompileCmdWord(interp, bodyTokenPtr+1, bodyTokenPtr->numComponents, envPtr); if (code != TCL_OK) { --- 589,595 ---- envPtr->currStackDepth = savedStackDepth; envPtr->exceptArrayPtr[bodyRange].codeOffset = ! (int) (envPtr->codeNext - envPtr->codeStart); code = TclCompileCmdWord(interp, bodyTokenPtr+1, bodyTokenPtr->numComponents, envPtr); if (code != TCL_OK) { *************** *** 601,607 **** goto done; } envPtr->exceptArrayPtr[bodyRange].numCodeBytes = ! (envPtr->codeNext - envPtr->codeStart) - envPtr->exceptArrayPtr[bodyRange].codeOffset; TclEmitOpcode(INST_POP, envPtr); --- 601,607 ---- goto done; } envPtr->exceptArrayPtr[bodyRange].numCodeBytes = ! (int) (envPtr->codeNext - envPtr->codeStart) - envPtr->exceptArrayPtr[bodyRange].codeOffset; TclEmitOpcode(INST_POP, envPtr); *************** *** 611,619 **** envPtr->currStackDepth = savedStackDepth; envPtr->exceptArrayPtr[bodyRange].continueOffset = ! (envPtr->codeNext - envPtr->codeStart); envPtr->exceptArrayPtr[nextRange].codeOffset = ! (envPtr->codeNext - envPtr->codeStart); code = TclCompileCmdWord(interp, nextTokenPtr+1, nextTokenPtr->numComponents, envPtr); envPtr->currStackDepth = savedStackDepth + 1; --- 611,619 ---- envPtr->currStackDepth = savedStackDepth; envPtr->exceptArrayPtr[bodyRange].continueOffset = ! (int) (envPtr->codeNext - envPtr->codeStart); envPtr->exceptArrayPtr[nextRange].codeOffset = ! (int) (envPtr->codeNext - envPtr->codeStart); code = TclCompileCmdWord(interp, nextTokenPtr+1, nextTokenPtr->numComponents, envPtr); envPtr->currStackDepth = savedStackDepth + 1; *************** *** 625,631 **** goto done; } envPtr->exceptArrayPtr[nextRange].numCodeBytes = ! (envPtr->codeNext - envPtr->codeStart) - envPtr->exceptArrayPtr[nextRange].codeOffset; TclEmitOpcode(INST_POP, envPtr); envPtr->currStackDepth = savedStackDepth; --- 625,631 ---- goto done; } envPtr->exceptArrayPtr[nextRange].numCodeBytes = ! (int) (envPtr->codeNext - envPtr->codeStart) - envPtr->exceptArrayPtr[nextRange].codeOffset; TclEmitOpcode(INST_POP, envPtr); envPtr->currStackDepth = savedStackDepth; *************** *** 637,643 **** * replace the ifFalse jump with a 4 byte jump. */ ! jumpBackOffset = (envPtr->codeNext - envPtr->codeStart); jumpBackDist = (jumpBackOffset - testCodeOffset); if (jumpBackDist > 120) { TclEmitInstInt4(INST_JUMP4, -jumpBackDist, envPtr); --- 637,643 ---- * replace the ifFalse jump with a 4 byte jump. */ ! jumpBackOffset = (int) (envPtr->codeNext - envPtr->codeStart); jumpBackDist = (jumpBackOffset - testCodeOffset); if (jumpBackDist > 120) { TclEmitInstInt4(INST_JUMP4, -jumpBackDist, envPtr); *************** *** 649,655 **** * Fix the target of the jumpFalse after the test. */ ! jumpDist = (envPtr->codeNext - envPtr->codeStart) - jumpFalseFixup.codeOffset; if (TclFixupForwardJump(envPtr, &jumpFalseFixup, jumpDist, 127)) { /* --- 649,655 ---- * Fix the target of the jumpFalse after the test. */ ! jumpDist = (int) (envPtr->codeNext - envPtr->codeStart) - jumpFalseFixup.codeOffset; if (TclFixupForwardJump(envPtr, &jumpFalseFixup, jumpDist, 127)) { /* *************** *** 682,688 **** envPtr->exceptArrayPtr[bodyRange].breakOffset = envPtr->exceptArrayPtr[nextRange].breakOffset = ! (envPtr->codeNext - envPtr->codeStart); /* * The for command's result is an empty string. --- 682,688 ---- envPtr->exceptArrayPtr[bodyRange].breakOffset = envPtr->exceptArrayPtr[nextRange].breakOffset = ! (int) (envPtr->codeNext - envPtr->codeStart); /* * The for command's result is an empty string. *************** *** 893,899 **** varListPtr->numVars = numVars; for (j = 0; j < numVars; j++) { CONST char *varName = varvList[loopIndex][j]; ! int nameChars = strlen(varName); varListPtr->varIndexes[j] = TclFindCompiledLocal(varName, nameChars, /*create*/ 1, /*flags*/ VAR_SCALAR, procPtr); } --- 893,899 ---- varListPtr->numVars = numVars; for (j = 0; j < numVars; j++) { CONST char *varName = varvList[loopIndex][j]; ! int nameChars = (int) strlen(varName); varListPtr->varIndexes[j] = TclFindCompiledLocal(varName, nameChars, /*create*/ 1, /*flags*/ VAR_SCALAR, procPtr); } *************** *** 941,947 **** */ envPtr->exceptArrayPtr[range].continueOffset = ! (envPtr->codeNext - envPtr->codeStart); TclEmitInstInt4(INST_FOREACH_STEP4, infoIndex, envPtr); TclEmitForwardJump(envPtr, TCL_FALSE_JUMP, &jumpFalseFixup); --- 941,947 ---- */ envPtr->exceptArrayPtr[range].continueOffset = ! (int) (envPtr->codeNext - envPtr->codeStart); TclEmitInstInt4(INST_FOREACH_STEP4, infoIndex, envPtr); TclEmitForwardJump(envPtr, TCL_FALSE_JUMP, &jumpFalseFixup); *************** *** 950,956 **** */ envPtr->exceptArrayPtr[range].codeOffset = ! (envPtr->codeNext - envPtr->codeStart); code = TclCompileCmdWord(interp, bodyTokenPtr+1, bodyTokenPtr->numComponents, envPtr); envPtr->currStackDepth = savedStackDepth + 1; --- 950,956 ---- */ envPtr->exceptArrayPtr[range].codeOffset = ! (int) (envPtr->codeNext - envPtr->codeStart); code = TclCompileCmdWord(interp, bodyTokenPtr+1, bodyTokenPtr->numComponents, envPtr); envPtr->currStackDepth = savedStackDepth + 1; *************** *** 963,969 **** goto done; } envPtr->exceptArrayPtr[range].numCodeBytes = ! (envPtr->codeNext - envPtr->codeStart) - envPtr->exceptArrayPtr[range].codeOffset; TclEmitOpcode(INST_POP, envPtr); --- 963,969 ---- goto done; } envPtr->exceptArrayPtr[range].numCodeBytes = ! (int) (envPtr->codeNext - envPtr->codeStart) - envPtr->exceptArrayPtr[range].codeOffset; TclEmitOpcode(INST_POP, envPtr); *************** *** 974,980 **** * replace the ifFalse jump with a 4 byte jump. */ ! jumpBackOffset = (envPtr->codeNext - envPtr->codeStart); jumpBackDist = (jumpBackOffset - envPtr->exceptArrayPtr[range].continueOffset); if (jumpBackDist > 120) { --- 974,980 ---- * replace the ifFalse jump with a 4 byte jump. */ ! jumpBackOffset = (int) (envPtr->codeNext - envPtr->codeStart); jumpBackDist = (jumpBackOffset - envPtr->exceptArrayPtr[range].continueOffset); if (jumpBackDist > 120) { *************** *** 987,993 **** * Fix the target of the jump after the foreach_step test. */ ! jumpDist = (envPtr->codeNext - envPtr->codeStart) - jumpFalseFixup.codeOffset; if (TclFixupForwardJump(envPtr, &jumpFalseFixup, jumpDist, 127)) { /* --- 987,993 ---- * Fix the target of the jump after the foreach_step test. */ ! jumpDist = (int) (envPtr->codeNext - envPtr->codeStart) - jumpFalseFixup.codeOffset; if (TclFixupForwardJump(envPtr, &jumpFalseFixup, jumpDist, 127)) { /* *************** *** 1016,1022 **** */ envPtr->exceptArrayPtr[range].breakOffset = ! (envPtr->codeNext - envPtr->codeStart); /* * The foreach command's result is an empty string. --- 1016,1022 ---- */ envPtr->exceptArrayPtr[range].breakOffset = ! (int) (envPtr->codeNext - envPtr->codeStart); /* * The foreach command's result is an empty string. *************** *** 1319,1325 **** * 4 byte jump. */ ! jumpDist = (envPtr->codeNext - envPtr->codeStart) - jumpFalseFixupArray.fixup[jumpIndex].codeOffset; if (TclFixupForwardJump(envPtr, &(jumpFalseFixupArray.fixup[jumpIndex]), jumpDist, 120)) { --- 1319,1325 ---- * 4 byte jump. */ ! jumpDist = (int) (envPtr->codeNext - envPtr->codeStart) - jumpFalseFixupArray.fixup[jumpIndex].codeOffset; if (TclFixupForwardJump(envPtr, &(jumpFalseFixupArray.fixup[jumpIndex]), jumpDist, 120)) { *************** *** 1407,1413 **** for (j = jumpEndFixupArray.next; j > 0; j--) { jumpIndex = (j - 1); /* i.e. process the closest jump first */ ! jumpDist = (envPtr->codeNext - envPtr->codeStart) - jumpEndFixupArray.fixup[jumpIndex].codeOffset; if (TclFixupForwardJump(envPtr, &(jumpEndFixupArray.fixup[jumpIndex]), jumpDist, 127)) { --- 1407,1413 ---- for (j = jumpEndFixupArray.next; j > 0; j--) { jumpIndex = (j - 1); /* i.e. process the closest jump first */ ! jumpDist = (int) (envPtr->codeNext - envPtr->codeStart) - jumpEndFixupArray.fixup[jumpIndex].codeOffset; if (TclFixupForwardJump(envPtr, &(jumpEndFixupArray.fixup[jumpIndex]), jumpDist, 127)) { *************** *** 2815,2828 **** TclMax(envPtr->exceptDepth, envPtr->maxExceptDepth); range = TclCreateExceptRange(LOOP_EXCEPTION_RANGE, envPtr); envPtr->exceptArrayPtr[range].continueOffset = ! (envPtr->codeNext - envPtr->codeStart); /* * Compile the test expression then emit the conditional jump that * terminates the while. We already know it's a simple word. */ ! testCodeOffset = (envPtr->codeNext - envPtr->codeStart); envPtr->exceptArrayPtr[range].continueOffset = testCodeOffset; code = TclCompileExprWords(interp, testTokenPtr, 1, envPtr); if (code != TCL_OK) { --- 2815,2828 ---- TclMax(envPtr->exceptDepth, envPtr->maxExceptDepth); range = TclCreateExceptRange(LOOP_EXCEPTION_RANGE, envPtr); envPtr->exceptArrayPtr[range].continueOffset = ! (int) (envPtr->codeNext - envPtr->codeStart); /* * Compile the test expression then emit the conditional jump that * terminates the while. We already know it's a simple word. */ ! testCodeOffset = (int) (envPtr->codeNext - envPtr->codeStart); envPtr->exceptArrayPtr[range].continueOffset = testCodeOffset; code = TclCompileExprWords(interp, testTokenPtr, 1, envPtr); if (code != TCL_OK) { *************** *** 2841,2847 **** envPtr->currStackDepth = savedStackDepth; bodyTokenPtr = testTokenPtr + (testTokenPtr->numComponents + 1); envPtr->exceptArrayPtr[range].codeOffset = ! (envPtr->codeNext - envPtr->codeStart); code = TclCompileCmdWord(interp, bodyTokenPtr+1, bodyTokenPtr->numComponents, envPtr); envPtr->currStackDepth = savedStackDepth + 1; --- 2841,2847 ---- envPtr->currStackDepth = savedStackDepth; bodyTokenPtr = testTokenPtr + (testTokenPtr->numComponents + 1); envPtr->exceptArrayPtr[range].codeOffset = ! (int) (envPtr->codeNext - envPtr->codeStart); code = TclCompileCmdWord(interp, bodyTokenPtr+1, bodyTokenPtr->numComponents, envPtr); envPtr->currStackDepth = savedStackDepth + 1; *************** *** 2854,2860 **** goto error; } envPtr->exceptArrayPtr[range].numCodeBytes = ! (envPtr->codeNext - envPtr->codeStart) - envPtr->exceptArrayPtr[range].codeOffset; TclEmitOpcode(INST_POP, envPtr); --- 2854,2860 ---- goto error; } envPtr->exceptArrayPtr[range].numCodeBytes = ! (int) (envPtr->codeNext - envPtr->codeStart) - envPtr->exceptArrayPtr[range].codeOffset; TclEmitOpcode(INST_POP, envPtr); *************** *** 2865,2871 **** * replace the ifFalse jump with a 4 byte jump. */ ! jumpBackOffset = (envPtr->codeNext - envPtr->codeStart); jumpBackDist = (jumpBackOffset - testCodeOffset); if (jumpBackDist > 120) { TclEmitInstInt4(INST_JUMP4, -jumpBackDist, envPtr); --- 2865,2871 ---- * replace the ifFalse jump with a 4 byte jump. */ ! jumpBackOffset = (int) (envPtr->codeNext - envPtr->codeStart); jumpBackDist = (jumpBackOffset - testCodeOffset); if (jumpBackDist > 120) { TclEmitInstInt4(INST_JUMP4, -jumpBackDist, envPtr); *************** *** 2877,2883 **** * Fix the target of the jumpFalse after the test. */ ! jumpDist = (envPtr->codeNext - envPtr->codeStart) - jumpFalseFixup.codeOffset; if (TclFixupForwardJump(envPtr, &jumpFalseFixup, jumpDist, 127)) { /* --- 2877,2883 ---- * Fix the target of the jumpFalse after the test. */ ! jumpDist = (int) (envPtr->codeNext - envPtr->codeStart) - jumpFalseFixup.codeOffset; if (TclFixupForwardJump(envPtr, &jumpFalseFixup, jumpDist, 127)) { /* *************** *** 2906,2912 **** */ envPtr->exceptArrayPtr[range].breakOffset = ! (envPtr->codeNext - envPtr->codeStart); /* * The while command's result is an empty string. --- 2906,2912 ---- */ envPtr->exceptArrayPtr[range].breakOffset = ! (int) (envPtr->codeNext - envPtr->codeStart); /* * The while command's result is an empty string. *************** *** 3035,3043 **** } if (simpleVarName) { name = varTokenPtr[1].start; ! nameChars = p - varTokenPtr[1].start; elName = p + 1; ! elNameChars = (varTokenPtr[n].start - p) + varTokenPtr[n].size - 2; /* * If elName contains any double quotes ("), we can't inline --- 3035,3043 ---- } if (simpleVarName) { name = varTokenPtr[1].start; ! nameChars = (int) (p - varTokenPtr[1].start); elName = p + 1; ! elNameChars = (int) (varTokenPtr[n].start - p) + varTokenPtr[n].size - 2; /* * If elName contains any double quotes ("), we can't inline *** generic/tclCompExpr.c 2001/12/11 14:29:40 1.8 --- generic/tclCompExpr.c 2002/01/29 06:43:01 *************** *** 242,248 **** */ if (numBytes < 0) { ! numBytes = (script? strlen(script) : 0); } if (!opTableInitialized) { Tcl_MutexLock(&opMutex); --- 242,248 ---- */ if (numBytes < 0) { ! numBytes = (script ? (int) strlen(script) : 0); } if (!opTableInitialized) { Tcl_MutexLock(&opMutex); *************** *** 678,691 **** TclEmitForwardJump(envPtr, TCL_TRUE_JUMP, &lhsTrueFixup); TclEmitPush(TclRegisterLiteral(envPtr, "0", 1, /*onHeap*/ 0), envPtr); TclEmitForwardJump(envPtr, TCL_UNCONDITIONAL_JUMP, &lhsEndFixup); ! dist = (envPtr->codeNext - envPtr->codeStart) - lhsTrueFixup.codeOffset; if (TclFixupForwardJump(envPtr, &lhsTrueFixup, dist, 127)) { badDist: panic("CompileLandOrLorExpr: bad jump distance %d\n", dist); } envPtr->currStackDepth = savedStackDepth; TclEmitPush(TclRegisterLiteral(envPtr, "1", 1, /*onHeap*/ 0), envPtr); ! dist = (envPtr->codeNext - envPtr->codeStart) - lhsEndFixup.codeOffset; if (TclFixupForwardJump(envPtr, &lhsEndFixup, dist, 127)) { goto badDist; } --- 678,691 ---- TclEmitForwardJump(envPtr, TCL_TRUE_JUMP, &lhsTrueFixup); TclEmitPush(TclRegisterLiteral(envPtr, "0", 1, /*onHeap*/ 0), envPtr); TclEmitForwardJump(envPtr, TCL_UNCONDITIONAL_JUMP, &lhsEndFixup); ! dist = (int) (envPtr->codeNext - envPtr->codeStart) - lhsTrueFixup.codeOffset; if (TclFixupForwardJump(envPtr, &lhsTrueFixup, dist, 127)) { badDist: panic("CompileLandOrLorExpr: bad jump distance %d\n", dist); } envPtr->currStackDepth = savedStackDepth; TclEmitPush(TclRegisterLiteral(envPtr, "1", 1, /*onHeap*/ 0), envPtr); ! dist = (int) (envPtr->codeNext - envPtr->codeStart) - lhsEndFixup.codeOffset; if (TclFixupForwardJump(envPtr, &lhsEndFixup, dist, 127)) { goto badDist; } *************** *** 724,730 **** * correct distance. */ ! dist = (envPtr->codeNext - envPtr->codeStart) - shortCircuitFixup.codeOffset; TclFixupForwardJump(envPtr, &shortCircuitFixup, dist, 127); *endPtrPtr = tokenPtr; --- 724,730 ---- * correct distance. */ ! dist = (int) (envPtr->codeNext - envPtr->codeStart) - shortCircuitFixup.codeOffset; TclFixupForwardJump(envPtr, &shortCircuitFixup, dist, 127); *endPtrPtr = tokenPtr; *************** *** 820,826 **** */ envPtr->currStackDepth = savedStackDepth; ! elseCodeOffset = (envPtr->codeNext - envPtr->codeStart); infoPtr->hasOperators = 0; code = CompileSubExpr(tokenPtr, infoPtr, envPtr); if (code != TCL_OK) { --- 820,826 ---- */ envPtr->currStackDepth = savedStackDepth; ! elseCodeOffset = (int) (envPtr->codeNext - envPtr->codeStart); infoPtr->hasOperators = 0; code = CompileSubExpr(tokenPtr, infoPtr, envPtr); if (code != TCL_OK) { *************** *** 835,841 **** * Fix up the second jump around the "else" expression. */ ! dist = (envPtr->codeNext - envPtr->codeStart) - jumpAroundElseFixup.codeOffset; if (TclFixupForwardJump(envPtr, &jumpAroundElseFixup, dist, 127)) { /* --- 835,841 ---- * Fix up the second jump around the "else" expression. */ ! dist = (int) (envPtr->codeNext - envPtr->codeStart) - jumpAroundElseFixup.codeOffset; if (TclFixupForwardJump(envPtr, &jumpAroundElseFixup, dist, 127)) { /* *************** *** 1013,1023 **** ExprInfo *infoPtr; /* Describes the compilation state for the * expression being compiled. */ { ! int numBytes = (infoPtr->lastChar - infoPtr->expr); char buffer[100]; sprintf(buffer, "syntax error in expression \"%.*s\"", ! ((numBytes > 60)? 60 : numBytes), infoPtr->expr); Tcl_AppendStringsToObj(Tcl_GetObjResult(infoPtr->interp), buffer, (char *) NULL); } --- 1013,1023 ---- ExprInfo *infoPtr; /* Describes the compilation state for the * expression being compiled. */ { ! int numBytes = (int) (infoPtr->lastChar - infoPtr->expr); char buffer[100]; sprintf(buffer, "syntax error in expression \"%.*s\"", ! ((numBytes > 60) ? 60 : numBytes), infoPtr->expr); Tcl_AppendStringsToObj(Tcl_GetObjResult(infoPtr->interp), buffer, (char *) NULL); } *** generic/tclCompile.c 2002/01/25 20:40:55 1.31 --- generic/tclCompile.c 2002/01/29 06:43:11 *************** *** 831,837 **** Tcl_DStringInit(&ds); if (numBytes < 0) { ! numBytes = strlen(script); } Tcl_ResetResult(interp); isFirstCmd = 1; --- 831,837 ---- Tcl_DStringInit(&ds); if (numBytes < 0) { ! numBytes = (int) strlen(script); } Tcl_ResetResult(interp); isFirstCmd = 1; *************** *** 861,867 **** TclEmitOpcode(INST_POP, envPtr); if (!nested) { envPtr->cmdMapPtr[lastTopLevelCmdIndex].numCodeBytes = ! (envPtr->codeNext - envPtr->codeStart) - startCodeOffset; } } --- 861,867 ---- TclEmitOpcode(INST_POP, envPtr); if (!nested) { envPtr->cmdMapPtr[lastTopLevelCmdIndex].numCodeBytes = ! (int) (envPtr->codeNext - envPtr->codeStart) - startCodeOffset; } } *************** *** 910,918 **** if (!nested) { lastTopLevelCmdIndex = currCmdIndex; } ! startCodeOffset = (envPtr->codeNext - envPtr->codeStart); EnterCmdStartData(envPtr, currCmdIndex, ! (parse.commandStart - envPtr->source), startCodeOffset); for (wordIdx = 0, tokenPtr = parse.tokenPtr; wordIdx < parse.numWords; --- 910,918 ---- if (!nested) { lastTopLevelCmdIndex = currCmdIndex; } ! startCodeOffset = (int) (envPtr->codeNext - envPtr->codeStart); EnterCmdStartData(envPtr, currCmdIndex, ! (int) (parse.commandStart - envPtr->source), startCodeOffset); for (wordIdx = 0, tokenPtr = parse.tokenPtr; wordIdx < parse.numWords; *************** *** 1020,1026 **** finishCommand: EnterCmdExtentData(envPtr, currCmdIndex, commandLength, ! (envPtr->codeNext-envPtr->codeStart) - startCodeOffset); isFirstCmd = 0; } /* end if parse.numWords > 0 */ --- 1020,1026 ---- finishCommand: EnterCmdExtentData(envPtr, currCmdIndex, commandLength, ! (int) (envPtr->codeNext-envPtr->codeStart) - startCodeOffset); isFirstCmd = 0; } /* end if parse.numWords > 0 */ *************** *** 1029,1035 **** */ next = parse.commandStart + parse.commandSize; ! bytesLeft -= (next - p); p = next; Tcl_FreeParse(&parse); gotParse = 0; --- 1029,1035 ---- */ next = parse.commandStart + parse.commandSize; ! bytesLeft -= (int) (next - p); p = next; Tcl_FreeParse(&parse); gotParse = 0; *************** *** 1055,1063 **** } if ((nested != 0) && (p > script) && (p[-1] == ']')) { ! iPtr->termOffset = (p - 1) - script; } else { ! iPtr->termOffset = (p - script); } Tcl_DStringFree(&ds); return TCL_OK; --- 1055,1063 ---- } if ((nested != 0) && (p > script) && (p[-1] == ']')) { ! iPtr->termOffset = (int) ((p - 1) - script); } else { ! iPtr->termOffset = (int) (p - script); } Tcl_DStringFree(&ds); return TCL_OK; *************** *** 1090,1096 **** if (gotParse) { Tcl_FreeParse(&parse); } ! iPtr->termOffset = (p - script); Tcl_DStringFree(&ds); return code; } --- 1090,1096 ---- if (gotParse) { Tcl_FreeParse(&parse); } ! iPtr->termOffset = (int) (p - script); Tcl_DStringFree(&ds); return code; } *************** *** 1490,1507 **** * which to create a ByteCode structure. */ { register ByteCode *codePtr; ! size_t codeBytes, objArrayBytes, exceptArrayBytes, cmdLocBytes; size_t auxDataArrayBytes, structureSize; register unsigned char *p; unsigned char *nextPtr; int numLitObjects = envPtr->literalArrayNext; Namespace *namespacePtr; ! int i; Interp *iPtr; iPtr = envPtr->iPtr; ! codeBytes = (envPtr->codeNext - envPtr->codeStart); objArrayBytes = (envPtr->literalArrayNext * sizeof(Tcl_Obj *)); exceptArrayBytes = (envPtr->exceptArrayNext * sizeof(ExceptionRange)); auxDataArrayBytes = (envPtr->auxDataArrayNext * sizeof(AuxData)); --- 1490,1507 ---- * which to create a ByteCode structure. */ { register ByteCode *codePtr; ! size_t objArrayBytes, exceptArrayBytes; size_t auxDataArrayBytes, structureSize; register unsigned char *p; unsigned char *nextPtr; int numLitObjects = envPtr->literalArrayNext; Namespace *namespacePtr; ! int i, codeBytes, cmdLocBytes; Interp *iPtr; iPtr = envPtr->iPtr; ! codeBytes = (int) (envPtr->codeNext - envPtr->codeStart); objArrayBytes = (envPtr->literalArrayNext * sizeof(Tcl_Obj *)); exceptArrayBytes = (envPtr->exceptArrayNext * sizeof(ExceptionRange)); auxDataArrayBytes = (envPtr->auxDataArrayNext * sizeof(AuxData)); *************** *** 1524,1530 **** namespacePtr = envPtr->iPtr->globalNsPtr; } ! p = (unsigned char *) ckalloc((size_t) structureSize); codePtr = (ByteCode *) p; codePtr->interpHandle = TclHandlePreserve(iPtr->handle); codePtr->compileEpoch = iPtr->compileEpoch; --- 1524,1530 ---- namespacePtr = envPtr->iPtr->globalNsPtr; } ! p = (unsigned char *) ckalloc(structureSize); codePtr = (ByteCode *) p; codePtr->interpHandle = TclHandlePreserve(iPtr->handle); codePtr->compileEpoch = iPtr->compileEpoch; *************** *** 1672,1678 **** */ if (length < 0) { ! length = strlen(command); } if (length > 150) { length = 150; --- 1672,1678 ---- */ if (length < 0) { ! length = (int) strlen(command); } if (length > 150) { length = 150; *************** *** 1991,2001 **** * from cmdMapPtr[0] up to cmdMapPtr[envPtr->cmdMapEnd] (inclusive). */ ! size_t currElems = envPtr->cmdMapEnd; ! size_t newElems = 2*currElems; size_t currBytes = currElems * sizeof(CmdLocation); size_t newBytes = newElems * sizeof(CmdLocation); ! CmdLocation *newPtr = (CmdLocation *) ckalloc((unsigned) newBytes); /* * Copy from old command location array to new, free old command --- 1991,2001 ---- * from cmdMapPtr[0] up to cmdMapPtr[envPtr->cmdMapEnd] (inclusive). */ ! int currElems = envPtr->cmdMapEnd; ! int newElems = 2*currElems; size_t currBytes = currElems * sizeof(CmdLocation); size_t newBytes = newElems * sizeof(CmdLocation); ! CmdLocation *newPtr = (CmdLocation *) ckalloc(newBytes); /* * Copy from old command location array to new, free old command *************** *** 2361,2367 **** */ jumpFixupPtr->jumpType = jumpType; ! jumpFixupPtr->codeOffset = (envPtr->codeNext - envPtr->codeStart); jumpFixupPtr->cmdIndex = envPtr->numCommands; jumpFixupPtr->exceptIndex = envPtr->exceptArrayNext; --- 2361,2367 ---- */ jumpFixupPtr->jumpType = jumpType; ! jumpFixupPtr->codeOffset = (int) (envPtr->codeNext - envPtr->codeStart); jumpFixupPtr->cmdIndex = envPtr->numCommands; jumpFixupPtr->exceptIndex = envPtr->exceptArrayNext; *************** *** 2447,2454 **** TclExpandCodeArray(envPtr); } jumpPc = (envPtr->codeStart + jumpFixupPtr->codeOffset); ! for (numBytes = envPtr->codeNext-jumpPc-2, p = jumpPc+2+numBytes-1; ! numBytes > 0; numBytes--, p--) { p[3] = p[0]; } envPtr->codeNext += 3; --- 2447,2454 ---- TclExpandCodeArray(envPtr); } jumpPc = (envPtr->codeStart + jumpFixupPtr->codeOffset); ! for (numBytes = (unsigned int)(envPtr->codeNext-jumpPc-2), ! p = jumpPc+2+numBytes-1; numBytes > 0; numBytes--, p--) { p[3] = p[0]; } envPtr->codeNext += 3; *************** *** 3183,3189 **** unsigned char opCode = *pc; register InstructionDesc *instDesc = &instructionTable[opCode]; unsigned char *codeStart = codePtr->codeStart; ! unsigned int pcOffset = (pc - codeStart); int opnd, i, j; fprintf(stdout, "(%u) %s ", pcOffset, instDesc->name); --- 3183,3189 ---- unsigned char opCode = *pc; register InstructionDesc *instDesc = &instructionTable[opCode]; unsigned char *codeStart = codePtr->codeStart; ! unsigned int pcOffset = (unsigned int) (pc - codeStart); int opnd, i, j; fprintf(stdout, "(%u) %s ", pcOffset, instDesc->name); *** generic/tclDate.c 2001/10/18 20:20:28 1.20 --- generic/tclDate.c 2002/01/29 06:43:17 *************** *** 451,457 **** }; time_t tod; time_t Julian; ! int i; /* Figure out how many days are in February for the given year. * Every year divisible by 4 is a leap year. --- 451,457 ---- }; time_t tod; time_t Julian; ! time_t i; /* Figure out how many days are in February for the given year. * Every year divisible by 4 is a leap year. *************** *** 544,550 **** * doing next february from january gives us february of the current year) * set day to 1, time to 0 */ ! tm->tm_year += MonthOrdinal; if (tm->tm_mon < MonthNumber - 1) { tm->tm_year--; } --- 544,550 ---- * doing next february from january gives us february of the current year) * set day to 1, time to 0 */ ! tm->tm_year += (int) MonthOrdinal; if (tm->tm_mon < MonthNumber - 1) { tm->tm_year--; } *************** *** 714,720 **** /* * Strip off any plural and try the units table again. */ ! i = strlen(buff) - 1; if (buff[i] == 's') { buff[i] = '\0'; for (tp = UnitsTable; tp->name; tp++) { --- 714,720 ---- /* * Strip off any plural and try the units table again. */ ! i = (int) strlen(buff) - 1; if (buff[i] == 's') { buff[i] = '\0'; for (tp = UnitsTable; tp->name; tp++) { *************** *** 932,938 **** Start += tod; } ! *timePtr = Start; return 0; } static CONST TclDatetabelem TclDateexca[] ={ --- 932,938 ---- Start += tod; } ! *timePtr = (unsigned long) Start; return 0; } static CONST TclDatetabelem TclDateexca[] ={ *************** *** 1335,1343 **** ** reallocate and recover. Note that pointers ** have to be reset, or bad things will happen */ ! long TclDateps_index = (TclDate_ps - TclDates); ! long TclDatepv_index = (TclDate_pv - TclDatev); ! long TclDatepvt_index = (TclDatepvt - TclDatev); int TclDatenewmax; #ifdef YYEXPAND TclDatenewmax = YYEXPAND(TclDatemaxdepth); --- 1335,1343 ---- ** reallocate and recover. Note that pointers ** have to be reset, or bad things will happen */ ! long TclDateps_index = (long) (TclDate_ps - TclDates); ! long TclDatepv_index = (long) (TclDate_pv - TclDatev); ! long TclDatepvt_index = (long) (TclDatepvt - TclDatev); int TclDatenewmax; #ifdef YYEXPAND TclDatenewmax = YYEXPAND(TclDatemaxdepth); *** generic/tclDecls.h 2002/01/25 21:36:09 1.79 --- generic/tclDecls.h 2002/01/29 06:43:31 *************** *** 37,58 **** /* 2 */ EXTERN void Tcl_Panic _ANSI_ARGS_(TCL_VARARGS(CONST char *,format)); /* 3 */ ! EXTERN char * Tcl_Alloc _ANSI_ARGS_((unsigned int size)); /* 4 */ EXTERN void Tcl_Free _ANSI_ARGS_((char * ptr)); /* 5 */ ! EXTERN char * Tcl_Realloc _ANSI_ARGS_((char * ptr, ! unsigned int size)); /* 6 */ ! EXTERN char * Tcl_DbCkalloc _ANSI_ARGS_((unsigned int size, CONST char * file, int line)); /* 7 */ EXTERN int Tcl_DbCkfree _ANSI_ARGS_((char * ptr, CONST char * file, int line)); /* 8 */ ! EXTERN char * Tcl_DbCkrealloc _ANSI_ARGS_((char * ptr, ! unsigned int size, CONST char * file, ! int line)); #if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ /* 9 */ EXTERN void Tcl_CreateFileHandler _ANSI_ARGS_((int fd, int mask, --- 37,56 ---- /* 2 */ EXTERN void Tcl_Panic _ANSI_ARGS_(TCL_VARARGS(CONST char *,format)); /* 3 */ ! EXTERN char * Tcl_Alloc _ANSI_ARGS_((size_t size)); /* 4 */ EXTERN void Tcl_Free _ANSI_ARGS_((char * ptr)); /* 5 */ ! EXTERN char * Tcl_Realloc _ANSI_ARGS_((char * ptr, size_t size)); /* 6 */ ! EXTERN char * Tcl_DbCkalloc _ANSI_ARGS_((size_t size, CONST char * file, int line)); /* 7 */ EXTERN int Tcl_DbCkfree _ANSI_ARGS_((char * ptr, CONST char * file, int line)); /* 8 */ ! EXTERN char * Tcl_DbCkrealloc _ANSI_ARGS_((char * ptr, size_t size, ! CONST char * file, int line)); #if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ /* 9 */ EXTERN void Tcl_CreateFileHandler _ANSI_ARGS_((int fd, int mask, *************** *** 1351,1367 **** Tcl_CommandTraceProc * proc, ClientData clientData)); /* 428 */ ! EXTERN char * Tcl_AttemptAlloc _ANSI_ARGS_((unsigned int size)); /* 429 */ ! EXTERN char * Tcl_AttemptDbCkalloc _ANSI_ARGS_((unsigned int size, CONST char * file, int line)); /* 430 */ EXTERN char * Tcl_AttemptRealloc _ANSI_ARGS_((char * ptr, ! unsigned int size)); /* 431 */ EXTERN char * Tcl_AttemptDbCkrealloc _ANSI_ARGS_((char * ptr, ! unsigned int size, CONST char * file, ! int line)); /* 432 */ EXTERN int Tcl_AttemptSetObjLength _ANSI_ARGS_(( Tcl_Obj * objPtr, int length)); --- 1349,1364 ---- Tcl_CommandTraceProc * proc, ClientData clientData)); /* 428 */ ! EXTERN char * Tcl_AttemptAlloc _ANSI_ARGS_((size_t size)); /* 429 */ ! EXTERN char * Tcl_AttemptDbCkalloc _ANSI_ARGS_((size_t size, CONST char * file, int line)); /* 430 */ EXTERN char * Tcl_AttemptRealloc _ANSI_ARGS_((char * ptr, ! size_t size)); /* 431 */ EXTERN char * Tcl_AttemptDbCkrealloc _ANSI_ARGS_((char * ptr, ! size_t size, CONST char * file, int line)); /* 432 */ EXTERN int Tcl_AttemptSetObjLength _ANSI_ARGS_(( Tcl_Obj * objPtr, int length)); *************** *** 1533,1544 **** int (*tcl_PkgProvideEx) _ANSI_ARGS_((Tcl_Interp* interp, CONST char* name, CONST char* version, ClientData clientData)); /* 0 */ CONST char * (*tcl_PkgRequireEx) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, CONST char * version, int exact, ClientData * clientDataPtr)); /* 1 */ void (*tcl_Panic) _ANSI_ARGS_(TCL_VARARGS(CONST char *,format)); /* 2 */ ! char * (*tcl_Alloc) _ANSI_ARGS_((unsigned int size)); /* 3 */ void (*tcl_Free) _ANSI_ARGS_((char * ptr)); /* 4 */ ! char * (*tcl_Realloc) _ANSI_ARGS_((char * ptr, unsigned int size)); /* 5 */ ! char * (*tcl_DbCkalloc) _ANSI_ARGS_((unsigned int size, CONST char * file, int line)); /* 6 */ int (*tcl_DbCkfree) _ANSI_ARGS_((char * ptr, CONST char * file, int line)); /* 7 */ ! char * (*tcl_DbCkrealloc) _ANSI_ARGS_((char * ptr, unsigned int size, CONST char * file, int line)); /* 8 */ #if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ void (*tcl_CreateFileHandler) _ANSI_ARGS_((int fd, int mask, Tcl_FileProc * proc, ClientData clientData)); /* 9 */ #endif /* UNIX */ --- 1530,1541 ---- int (*tcl_PkgProvideEx) _ANSI_ARGS_((Tcl_Interp* interp, CONST char* name, CONST char* version, ClientData clientData)); /* 0 */ CONST char * (*tcl_PkgRequireEx) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * name, CONST char * version, int exact, ClientData * clientDataPtr)); /* 1 */ void (*tcl_Panic) _ANSI_ARGS_(TCL_VARARGS(CONST char *,format)); /* 2 */ ! char * (*tcl_Alloc) _ANSI_ARGS_((size_t size)); /* 3 */ void (*tcl_Free) _ANSI_ARGS_((char * ptr)); /* 4 */ ! char * (*tcl_Realloc) _ANSI_ARGS_((char * ptr, size_t size)); /* 5 */ ! char * (*tcl_DbCkalloc) _ANSI_ARGS_((size_t size, CONST char * file, int line)); /* 6 */ int (*tcl_DbCkfree) _ANSI_ARGS_((char * ptr, CONST char * file, int line)); /* 7 */ ! char * (*tcl_DbCkrealloc) _ANSI_ARGS_((char * ptr, size_t size, CONST char * file, int line)); /* 8 */ #if !defined(__WIN32__) && !defined(MAC_TCL) /* UNIX */ void (*tcl_CreateFileHandler) _ANSI_ARGS_((int fd, int mask, Tcl_FileProc * proc, ClientData clientData)); /* 9 */ #endif /* UNIX */ *************** *** 2006,2015 **** ClientData (*tcl_CommandTraceInfo) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * varName, int flags, Tcl_CommandTraceProc * procPtr, ClientData prevClientData)); /* 425 */ int (*tcl_TraceCommand) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * varName, int flags, Tcl_CommandTraceProc * proc, ClientData clientData)); /* 426 */ void (*tcl_UntraceCommand) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * varName, int flags, Tcl_CommandTraceProc * proc, ClientData clientData)); /* 427 */ ! char * (*tcl_AttemptAlloc) _ANSI_ARGS_((unsigned int size)); /* 428 */ ! char * (*tcl_AttemptDbCkalloc) _ANSI_ARGS_((unsigned int size, CONST char * file, int line)); /* 429 */ ! char * (*tcl_AttemptRealloc) _ANSI_ARGS_((char * ptr, unsigned int size)); /* 430 */ ! char * (*tcl_AttemptDbCkrealloc) _ANSI_ARGS_((char * ptr, unsigned int size, CONST char * file, int line)); /* 431 */ int (*tcl_AttemptSetObjLength) _ANSI_ARGS_((Tcl_Obj * objPtr, int length)); /* 432 */ Tcl_ThreadId (*tcl_GetChannelThread) _ANSI_ARGS_((Tcl_Channel channel)); /* 433 */ Tcl_UniChar * (*tcl_GetUnicodeFromObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int * lengthPtr)); /* 434 */ --- 2003,2012 ---- ClientData (*tcl_CommandTraceInfo) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * varName, int flags, Tcl_CommandTraceProc * procPtr, ClientData prevClientData)); /* 425 */ int (*tcl_TraceCommand) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * varName, int flags, Tcl_CommandTraceProc * proc, ClientData clientData)); /* 426 */ void (*tcl_UntraceCommand) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * varName, int flags, Tcl_CommandTraceProc * proc, ClientData clientData)); /* 427 */ ! char * (*tcl_AttemptAlloc) _ANSI_ARGS_((size_t size)); /* 428 */ ! char * (*tcl_AttemptDbCkalloc) _ANSI_ARGS_((size_t size, CONST char * file, int line)); /* 429 */ ! char * (*tcl_AttemptRealloc) _ANSI_ARGS_((char * ptr, size_t size)); /* 430 */ ! char * (*tcl_AttemptDbCkrealloc) _ANSI_ARGS_((char * ptr, size_t size, CONST char * file, int line)); /* 431 */ int (*tcl_AttemptSetObjLength) _ANSI_ARGS_((Tcl_Obj * objPtr, int length)); /* 432 */ Tcl_ThreadId (*tcl_GetChannelThread) _ANSI_ARGS_((Tcl_Channel channel)); /* 433 */ Tcl_UniChar * (*tcl_GetUnicodeFromObj) _ANSI_ARGS_((Tcl_Obj * objPtr, int * lengthPtr)); /* 434 */ *** generic/tclEncoding.c 2002/01/25 20:40:55 1.9 --- generic/tclEncoding.c 2002/01/29 06:43:38 *************** *** 95,101 **** */ typedef struct EscapeSubTable { ! unsigned int sequenceLen; /* Length of following string. */ char sequence[16]; /* Escape code that marks this encoding. */ char name[32]; /* Name for encoding. */ Encoding *encodingPtr; /* Encoding loaded using above name, or NULL --- 95,101 ---- */ typedef struct EscapeSubTable { ! size_t sequenceLen; /* Length of following string. */ char sequence[16]; /* Escape code that marks this encoding. */ char name[32]; /* Name for encoding. */ Encoding *encodingPtr; /* Encoding loaded using above name, or NULL *************** *** 107,116 **** int fallback; /* Character (in this encoding) to * substitute when this encoding cannot * represent a UTF-8 character. */ ! unsigned int initLen; /* Length of following string. */ char init[16]; /* String to emit or expect before first char * in conversion. */ ! unsigned int finalLen; /* Length of following string. */ char final[16]; /* String to emit or expect after last char * in conversion. */ char prefixBytes[256]; /* If a byte in the input stream is the --- 107,116 ---- int fallback; /* Character (in this encoding) to * substitute when this encoding cannot * represent a UTF-8 character. */ ! size_t initLen; /* Length of following string. */ char init[16]; /* String to emit or expect before first char * in conversion. */ ! size_t finalLen; /* Length of following string. */ char final[16]; /* String to emit or expect after last char * in conversion. */ char prefixBytes[256]; /* If a byte in the input stream is the *************** *** 808,821 **** if (src == NULL) { srcLen = 0; } else if (srcLen < 0) { ! srcLen = (*encodingPtr->lengthProc)(src); } flags = TCL_ENCODING_START | TCL_ENCODING_END; while (1) { result = (*encodingPtr->toUtfProc)(encodingPtr->clientData, src, srcLen, flags, &state, dst, dstLen, &srcRead, &dstWrote, &dstChars); ! soFar = dst + dstWrote - Tcl_DStringValue(dstPtr); if (result != TCL_CONVERT_NOSPACE) { Tcl_DStringSetLength(dstPtr, soFar); return Tcl_DStringValue(dstPtr); --- 808,821 ---- if (src == NULL) { srcLen = 0; } else if (srcLen < 0) { ! srcLen = (int) (*encodingPtr->lengthProc)(src); } flags = TCL_ENCODING_START | TCL_ENCODING_END; while (1) { result = (*encodingPtr->toUtfProc)(encodingPtr->clientData, src, srcLen, flags, &state, dst, dstLen, &srcRead, &dstWrote, &dstChars); ! soFar = (int) (dst + dstWrote - Tcl_DStringValue(dstPtr)); if (result != TCL_CONVERT_NOSPACE) { Tcl_DStringSetLength(dstPtr, soFar); return Tcl_DStringValue(dstPtr); *************** *** 893,899 **** if (src == NULL) { srcLen = 0; } else if (srcLen < 0) { ! srcLen = (*encodingPtr->lengthProc)(src); } if (statePtr == NULL) { flags |= TCL_ENCODING_START | TCL_ENCODING_END; --- 893,899 ---- if (src == NULL) { srcLen = 0; } else if (srcLen < 0) { ! srcLen = (int) (*encodingPtr->lengthProc)(src); } if (statePtr == NULL) { flags |= TCL_ENCODING_START | TCL_ENCODING_END; *************** *** 971,984 **** if (src == NULL) { srcLen = 0; } else if (srcLen < 0) { ! srcLen = strlen(src); } flags = TCL_ENCODING_START | TCL_ENCODING_END; while (1) { result = (*encodingPtr->fromUtfProc)(encodingPtr->clientData, src, srcLen, flags, &state, dst, dstLen, &srcRead, &dstWrote, &dstChars); ! soFar = dst + dstWrote - Tcl_DStringValue(dstPtr); if (result != TCL_CONVERT_NOSPACE) { if (encodingPtr->nullSize == 2) { Tcl_DStringSetLength(dstPtr, soFar + 1); --- 971,984 ---- if (src == NULL) { srcLen = 0; } else if (srcLen < 0) { ! srcLen = (int) strlen(src); } flags = TCL_ENCODING_START | TCL_ENCODING_END; while (1) { result = (*encodingPtr->fromUtfProc)(encodingPtr->clientData, src, srcLen, flags, &state, dst, dstLen, &srcRead, &dstWrote, &dstChars); ! soFar = (int) (dst + dstWrote - Tcl_DStringValue(dstPtr)); if (result != TCL_CONVERT_NOSPACE) { if (encodingPtr->nullSize == 2) { Tcl_DStringSetLength(dstPtr, soFar + 1); *************** *** 1059,1065 **** if (src == NULL) { srcLen = 0; } else if (srcLen < 0) { ! srcLen = strlen(src); } if (statePtr == NULL) { flags |= TCL_ENCODING_START | TCL_ENCODING_END; --- 1059,1065 ---- if (src == NULL) { srcLen = 0; } else if (srcLen < 0) { ! srcLen = (int) strlen(src); } if (statePtr == NULL) { flags |= TCL_ENCODING_START | TCL_ENCODING_END; *************** *** 1572,1578 **** Tcl_Channel chan; /* File containing new encoding. */ { int i; ! unsigned int size; Tcl_DString escapeData; char init[16], final[16]; EscapeEncodingData *dataPtr; --- 1572,1578 ---- Tcl_Channel chan; /* File containing new encoding. */ { int i; ! size_t size; Tcl_DString escapeData; char init[16], final[16]; EscapeEncodingData *dataPtr; *************** *** 1784,1790 **** dstEnd = dst + dstLen - TCL_UTF_MAX; for (numChars = 0; src < srcEnd; numChars++) { ! if ((src > srcClose) && (!Tcl_UtfCharComplete(src, srcEnd - src))) { /* * If there is more string to follow, this will ensure that the * last UTF-8 character in the source buffer hasn't been cut off. --- 1784,1790 ---- dstEnd = dst + dstLen - TCL_UTF_MAX; for (numChars = 0; src < srcEnd; numChars++) { ! if ((src > srcClose) && (!Tcl_UtfCharComplete(src, (int) (srcEnd - src)))) { /* * If there is more string to follow, this will ensure that the * last UTF-8 character in the source buffer hasn't been cut off. *************** *** 1801,1808 **** dst += Tcl_UniCharToUtf(ch, dst); } ! *srcReadPtr = src - srcStart; ! *dstWrotePtr = dst - dstStart; *dstCharsPtr = numChars; return result; } --- 1801,1808 ---- dst += Tcl_UniCharToUtf(ch, dst); } ! *srcReadPtr = (int) (src - srcStart); ! *dstWrotePtr = (int) (dst - dstStart); *dstCharsPtr = numChars; return result; } *************** *** 1879,1886 **** wSrc++; } ! *srcReadPtr = (char *) wSrc - (char *) wSrcStart; ! *dstWrotePtr = dst - dstStart; *dstCharsPtr = numChars; return result; } --- 1879,1886 ---- wSrc++; } ! *srcReadPtr = (int) ((char *) wSrc - (char *) wSrcStart); ! *dstWrotePtr = (int) (dst - dstStart); *dstCharsPtr = numChars; return result; } *************** *** 1946,1952 **** result = TCL_OK; for (numChars = 0; src < srcEnd; numChars++) { ! if ((src > srcClose) && (!Tcl_UtfCharComplete(src, srcEnd - src))) { /* * If there is more string to follow, this will ensure that the * last UTF-8 character in the source buffer hasn't been cut off. --- 1946,1952 ---- result = TCL_OK; for (numChars = 0; src < srcEnd; numChars++) { ! if ((src > srcClose) && (!Tcl_UtfCharComplete(src, (int) (srcEnd - src)))) { /* * If there is more string to follow, this will ensure that the * last UTF-8 character in the source buffer hasn't been cut off. *************** *** 1962,1969 **** src += Tcl_UtfToUniChar(src, wDst); wDst++; } ! *srcReadPtr = src - srcStart; ! *dstWrotePtr = (char *) wDst - (char *) wDstStart; *dstCharsPtr = numChars; return result; } --- 1962,1969 ---- src += Tcl_UtfToUniChar(src, wDst); wDst++; } ! *srcReadPtr = (int) (src - srcStart); ! *dstWrotePtr = (int) ((char *) wDst - (char *) wDstStart); *dstCharsPtr = numChars; return result; } *************** *** 2064,2071 **** dst += Tcl_UniCharToUtf(ch, dst); src++; } ! *srcReadPtr = src - srcStart; ! *dstWrotePtr = dst - dstStart; *dstCharsPtr = numChars; return result; } --- 2064,2071 ---- dst += Tcl_UniCharToUtf(ch, dst); src++; } ! *srcReadPtr = (int) (src - srcStart); ! *dstWrotePtr = (int) (dst - dstStart); *dstCharsPtr = numChars; return result; } *************** *** 2140,2146 **** dstEnd = dst + dstLen - 1; for (numChars = 0; src < srcEnd; numChars++) { ! if ((src > srcClose) && (!Tcl_UtfCharComplete(src, srcEnd - src))) { /* * If there is more string to follow, this will ensure that the * last UTF-8 character in the source buffer hasn't been cut off. --- 2140,2146 ---- dstEnd = dst + dstLen - 1; for (numChars = 0; src < srcEnd; numChars++) { ! if ((src > srcClose) && (!Tcl_UtfCharComplete(src, (int) (srcEnd - src)))) { /* * If there is more string to follow, this will ensure that the * last UTF-8 character in the source buffer hasn't been cut off. *************** *** 2176,2183 **** } src += len; } ! *srcReadPtr = src - srcStart; ! *dstWrotePtr = dst - dstStart; *dstCharsPtr = numChars; return result; } --- 2176,2183 ---- } src += len; } ! *srcReadPtr = (int) (src - srcStart); ! *dstWrotePtr = (int) (dst - dstStart); *dstCharsPtr = numChars; return result; } *************** *** 2295,2301 **** } byte = *((unsigned char *) src); if (prefixBytes[byte]) { ! unsigned int left, len, longest; int checked, i; EscapeSubTable *subTablePtr; --- 2295,2301 ---- } byte = *((unsigned char *) src); if (prefixBytes[byte]) { ! size_t left, len, longest; int checked, i; EscapeSubTable *subTablePtr; *************** *** 2303,2309 **** * Saw the beginning of an escape sequence. */ ! left = srcEnd - src; len = dataPtr->initLen; longest = len; checked = 0; --- 2303,2309 ---- * Saw the beginning of an escape sequence. */ ! left = (size_t) (srcEnd - src); len = dataPtr->initLen; longest = len; checked = 0; *************** *** 2416,2423 **** } *statePtr = (Tcl_EncodingState) state; ! *srcReadPtr = src - srcStart; ! *dstWrotePtr = dst - dstStart; *dstCharsPtr = numChars; return result; } --- 2416,2423 ---- } *statePtr = (Tcl_EncodingState) state; ! *srcReadPtr = (int) (src - srcStart); ! *dstWrotePtr = (int) (dst - dstStart); *dstCharsPtr = numChars; return result; } *************** *** 2492,2498 **** dstEnd = dst + dstLen - 1; if (flags & TCL_ENCODING_START) { ! unsigned int len; state = 0; len = dataPtr->subTables[0].sequenceLen; --- 2492,2498 ---- dstEnd = dst + dstLen - 1; if (flags & TCL_ENCODING_START) { ! size_t len; state = 0; len = dataPtr->subTables[0].sequenceLen; *************** *** 2504,2511 **** memcpy((VOID *) dst, (VOID *) dataPtr->init, (size_t) dataPtr->initLen); dst += dataPtr->initLen; ! memcpy((VOID *) dst, (VOID *) dataPtr->subTables[0].sequence, ! (size_t) len); dst += len; } else { state = (int) *statePtr; --- 2504,2510 ---- memcpy((VOID *) dst, (VOID *) dataPtr->init, (size_t) dataPtr->initLen); dst += dataPtr->initLen; ! memcpy((VOID *) dst, (VOID *) dataPtr->subTables[0].sequence, len); dst += len; } else { state = (int) *statePtr; *************** *** 2521,2527 **** int word; Tcl_UniChar ch; ! if ((src > srcClose) && (!Tcl_UtfCharComplete(src, srcEnd - src))) { /* * If there is more string to follow, this will ensure that the * last UTF-8 character in the source buffer hasn't been cut off. --- 2520,2526 ---- int word; Tcl_UniChar ch; ! if ((src > srcClose) && (!Tcl_UtfCharComplete(src, (int) (srcEnd - src)))) { /* * If there is more string to follow, this will ensure that the * last UTF-8 character in the source buffer hasn't been cut off. *************** *** 2601,2608 **** } *statePtr = (Tcl_EncodingState) state; ! *srcReadPtr = src - srcStart; ! *dstWrotePtr = dst - dstStart; *dstCharsPtr = numChars; return result; } --- 2600,2607 ---- } *statePtr = (Tcl_EncodingState) state; ! *srcReadPtr = (int) (src - srcStart); ! *dstWrotePtr = (int) (dst - dstStart); *dstCharsPtr = numChars; return result; } *** generic/tclEnv.c 2002/01/26 01:10:08 1.11 --- generic/tclEnv.c 2002/01/29 06:43:41 *************** *** 175,181 **** CONST char *value; /* New value for variable (UTF-8). */ { Tcl_DString envString; ! int index, length, nameLength; char *p, *oldValue; CONST char *p2; --- 175,182 ---- CONST char *value; /* New value for variable (UTF-8). */ { Tcl_DString envString; ! int index, length; ! size_t nameLength; char *p, *oldValue; CONST char *p2; *************** *** 193,200 **** if ((length + 2) > environSize) { char **newEnviron; ! newEnviron = (char **) ckalloc((unsigned) ! ((length + 5) * sizeof(char *))); memcpy((VOID *) newEnviron, (VOID *) environ, length*sizeof(char *)); if (environSize != 0) { --- 194,200 ---- if ((length + 2) > environSize) { char **newEnviron; ! newEnviron = (char **) ckalloc((length + 5) * sizeof(char *)); memcpy((VOID *) newEnviron, (VOID *) environ, length*sizeof(char *)); if (environSize != 0) { *************** *** 324,330 **** if (value == NULL) { return 0; } ! nameLength = value - name; if (nameLength == 0) { return 0; } --- 324,330 ---- if (value == NULL) { return 0; } ! nameLength = (int) (value - name); if (nameLength == 0) { return 0; } *** generic/tclExecute.c 2002/01/29 02:21:47 1.46 --- generic/tclExecute.c 2002/01/29 06:43:56 *************** *** 2682,2688 **** s1len = Tcl_NumUtfChars(s1, s1len); s2len = Tcl_NumUtfChars(s2, s2len); iResult = Tcl_UtfNcmp(s1, s2, ! (size_t) ((s1len < s2len) ? s1len : s2len)); } /* --- 2682,2688 ---- s1len = Tcl_NumUtfChars(s1, s1len); s2len = Tcl_NumUtfChars(s2, s2len); iResult = Tcl_UtfNcmp(s1, s2, ! ((s1len < s2len) ? s1len : s2len)); } /* *************** *** 4242,4248 **** * length of the command's source should be * stored. If NULL, no length is stored. */ { ! register int pcOffset = (pc - codePtr->codeStart); int numCmds = codePtr->numCommands; unsigned char *codeDeltaNext, *codeLengthNext; unsigned char *srcDeltaNext, *srcLengthNext; --- 4242,4248 ---- * length of the command's source should be * stored. If NULL, no length is stored. */ { ! register int pcOffset = (int) (pc - codePtr->codeStart); int numCmds = codePtr->numCommands; unsigned char *codeDeltaNext, *codeLengthNext; unsigned char *srcDeltaNext, *srcLengthNext; *************** *** 4369,4375 **** ExceptionRange *rangeArrayPtr; int numRanges = codePtr->numExceptRanges; register ExceptionRange *rangePtr; ! int pcOffset = (pc - codePtr->codeStart); register int i, level; if (numRanges == 0) { --- 4369,4375 ---- ExceptionRange *rangeArrayPtr; int numRanges = codePtr->numExceptRanges; register ExceptionRange *rangePtr; ! int pcOffset = (int) (pc - codePtr->codeStart); register int i, level; if (numRanges == 0) { *** generic/tclFileName.c 2002/01/26 01:10:08 1.29 --- generic/tclFileName.c 2002/01/29 06:44:03 *************** *** 324,330 **** while ((*end != '\0') && (*end != '/')) { end++; } ! *driveNameLengthPtr = end - path; } } else { switch (tclPlatform) { --- 324,330 ---- while ((*end != '\0') && (*end != '/')) { end++; } ! *driveNameLengthPtr = (int) (end - path); } } else { switch (tclPlatform) { *************** *** 353,359 **** * We need this addition in case the QNX code * was used */ ! *driveNameLengthPtr = (1 + path - origPath); } } else { type = TCL_PATH_RELATIVE; --- 353,359 ---- * We need this addition in case the QNX code * was used */ ! *driveNameLengthPtr = (int) (1 + path - origPath); } } else { type = TCL_PATH_RELATIVE; *************** *** 389,402 **** } else { if (driveNameLengthPtr != NULL) { Tcl_RegExpRange(re, 0, &root, &end); ! *driveNameLengthPtr = end - root; } if (driveNameRef != NULL) { if (*root == '/') { char *c; int gotColon = 0; *driveNameRef = Tcl_NewStringObj(root + 1, ! end - root -1); c = Tcl_GetString(*driveNameRef); while (*c != '\0') { if (*c == '/') { --- 389,402 ---- } else { if (driveNameLengthPtr != NULL) { Tcl_RegExpRange(re, 0, &root, &end); ! *driveNameLengthPtr = (int) (end - root); } if (driveNameRef != NULL) { if (*root == '/') { char *c; int gotColon = 0; *driveNameRef = Tcl_NewStringObj(root + 1, ! (int) (end - root -1)); c = Tcl_GetString(*driveNameRef); while (*c != '\0') { if (*c == '/') { *************** *** 416,422 **** (*(c-1) == ':')) { /* We have an extra colon */ Tcl_SetObjLength(*driveNameRef, ! c - Tcl_GetString(*driveNameRef) - 1); } } } --- 416,422 ---- (*(c-1) == ':')) { /* We have an extra colon */ Tcl_SetObjLength(*driveNameRef, ! (int) (c - Tcl_GetString(*driveNameRef) - 1)); } } } *************** *** 449,455 **** Tcl_DStringInit(&ds); rootEnd = ExtractWinRoot(path, &ds, 0, &type); if ((rootEnd != path) && (driveNameLengthPtr != NULL)) { ! *driveNameLengthPtr = rootEnd - path; if (driveNameRef != NULL) { *driveNameRef = Tcl_NewStringObj(Tcl_DStringValue(&ds), Tcl_DStringLength(&ds)); --- 449,455 ---- Tcl_DStringInit(&ds); rootEnd = ExtractWinRoot(path, &ds, 0, &type); if ((rootEnd != path) && (driveNameLengthPtr != NULL)) { ! *driveNameLengthPtr = (int) (rootEnd - path); if (driveNameRef != NULL) { *driveNameRef = Tcl_NewStringObj(Tcl_DStringValue(&ds), Tcl_DStringLength(&ds)); *************** *** 679,685 **** while ((*p != '\0') && (*p != '/')) { p++; } ! length = p - elementStart; if (length > 0) { Tcl_Obj *nextElt; if ((elementStart[0] == '~') && (elementStart != path)) { --- 679,685 ---- while ((*p != '\0') && (*p != '/')) { p++; } ! length = (int) (p - elementStart); if (length > 0) { Tcl_Obj *nextElt; if ((elementStart[0] == '~') && (elementStart != path)) { *************** *** 749,755 **** while ((*p != '\0') && (*p != '/') && (*p != '\\')) { p++; } ! length = p - elementStart; if (length > 0) { Tcl_Obj *nextElt; if ((elementStart[0] == '~') && (elementStart != path)) { --- 749,755 ---- while ((*p != '\0') && (*p != '/') && (*p != '\\')) { p++; } ! length = (int) (p - elementStart); if (length > 0) { Tcl_Obj *nextElt; if ((elementStart[0] == '~') && (elementStart != path)) { *************** *** 826,832 **** if (start) { Tcl_Obj *elt = Tcl_NewStringObj(":", 1); Tcl_RegExpRange(re, 0, &start, &end); ! Tcl_AppendToObj(elt, path, end - start); Tcl_ListObjAppendElement(NULL, result, elt); return result; } --- 826,832 ---- if (start) { Tcl_Obj *elt = Tcl_NewStringObj(":", 1); Tcl_RegExpRange(re, 0, &start, &end); ! Tcl_AppendToObj(elt, path, (int) (end - start)); Tcl_ListObjAppendElement(NULL, result, elt); return result; } *************** *** 871,877 **** } } Tcl_RegExpRange(re, i, &start, &end); ! length = end - start; /* * Append the element and terminate it with a : --- 871,877 ---- } } Tcl_RegExpRange(re, i, &start, &end); ! length = (int) (end - start); /* * Append the element and terminate it with a : *************** *** 929,935 **** } while ((p = strchr(p, ':')) != NULL) { ! length = p - elementStart; if (length == 1) { while (*p == ':') { Tcl_ListObjAppendElement(NULL, result, --- 929,935 ---- } while ((p = strchr(p, ':')) != NULL) { ! length = (int) (p - elementStart); if (length == 1) { while (*p == ':') { Tcl_ListObjAppendElement(NULL, result, *************** *** 977,983 **** while ((*p != '\0') && (*p != '/')) { p++; } ! length = p - elementStart; if (length > 0) { if ((length == 1) && (elementStart[0] == '.')) { Tcl_ListObjAppendElement(NULL, result, --- 977,983 ---- while ((*p != '\0') && (*p != '/')) { p++; } ! length = (int) (p - elementStart); if (length > 0) { if ((length == 1) && (elementStart[0] == '.')) { Tcl_ListObjAppendElement(NULL, result, *************** *** 1125,1131 **** needsSep = 1; } } ! length = dest - Tcl_GetString(prefix); Tcl_SetObjLength(prefix, length); break; --- 1125,1131 ---- needsSep = 1; } } ! length = (int) (dest - Tcl_GetString(prefix)); Tcl_SetObjLength(prefix, length); break; *************** *** 1161,1167 **** needsSep = 1; } } ! length = dest - Tcl_GetString(prefix); Tcl_SetObjLength(prefix, length); break; --- 1161,1167 ---- needsSep = 1; } } ! length = (int) (dest - Tcl_GetString(prefix)); Tcl_SetObjLength(prefix, length); break; *************** *** 1213,1219 **** * Append the element */ ! newLength = strlen(p); /* * It may not be good to just do 'Tcl_AppendToObj(prefix, * p, newLength)' because the object may contain duplicate --- 1213,1219 ---- * Append the element */ ! newLength = (int) strlen(p); /* * It may not be good to just do 'Tcl_AppendToObj(prefix, * p, newLength)' because the object may contain duplicate *************** *** 1672,1685 **** pathOrDir = NULL; } else { /* Have to split off the end */ ! Tcl_DStringAppend(&pref, last, first+pathlength-last); ! pathOrDir = Tcl_NewStringObj(first, last-first-1); } /* Need to quote 'prefix' */ Tcl_DStringInit(&prefix); search = Tcl_DStringValue(&pref); while ((find = (strpbrk(search, "\\[]*?{}"))) != NULL) { ! Tcl_DStringAppend(&prefix, search, find-search); Tcl_DStringAppend(&prefix, "\\", 1); Tcl_DStringAppend(&prefix, find, 1); search = find+1; --- 1672,1685 ---- pathOrDir = NULL; } else { /* Have to split off the end */ ! Tcl_DStringAppend(&pref, last, (int) (first+pathlength-last)); ! pathOrDir = Tcl_NewStringObj(first, (int) (last-first-1)); } /* Need to quote 'prefix' */ Tcl_DStringInit(&prefix); search = Tcl_DStringValue(&pref); while ((find = (strpbrk(search, "\\[]*?{}"))) != NULL) { ! Tcl_DStringAppend(&prefix, search, (int) (find-search)); Tcl_DStringAppend(&prefix, "\\", 1); Tcl_DStringAppend(&prefix, find, 1); search = find+1; *************** *** 2345,2351 **** * before the first brace and recursively call TclDoGlob. */ ! Tcl_DStringAppend(&newName, tail, openBrace-tail); baseLength = Tcl_DStringLength(&newName); length = Tcl_DStringLength(headPtr); *closeBrace = '\0'; --- 2345,2351 ---- * before the first brace and recursively call TclDoGlob. */ ! Tcl_DStringAppend(&newName, tail, (int) (openBrace-tail)); baseLength = Tcl_DStringLength(&newName); length = Tcl_DStringLength(headPtr); *closeBrace = '\0'; *************** *** 2355,2361 **** SkipToChar(&p, ","); Tcl_DStringSetLength(headPtr, length); Tcl_DStringSetLength(&newName, baseLength); ! Tcl_DStringAppend(&newName, element, p-element); Tcl_DStringAppend(&newName, closeBrace+1, -1); result = TclDoGlob(interp, separators, headPtr, Tcl_DStringValue(&newName), types); --- 2355,2361 ---- SkipToChar(&p, ","); Tcl_DStringSetLength(headPtr, length); Tcl_DStringSetLength(&newName, baseLength); ! Tcl_DStringAppend(&newName, element, (int) (p-element)); Tcl_DStringAppend(&newName, closeBrace+1, -1); result = TclDoGlob(interp, separators, headPtr, Tcl_DStringValue(&newName), types); *************** *** 2448,2454 **** Tcl_DecrRefCount(head); return ret; } ! Tcl_DStringAppend(headPtr, tail, p-tail); if (*p != '\0') { return TclDoGlob(interp, separators, headPtr, p, types); } else { --- 2448,2454 ---- Tcl_DecrRefCount(head); return ret; } ! Tcl_DStringAppend(headPtr, tail, (int) (p-tail)); if (*p != '\0') { return TclDoGlob(interp, separators, headPtr, p, types); } else { *** generic/tclHistory.c 2002/01/16 06:02:34 1.4 --- generic/tclHistory.c 2002/01/29 06:44:05 *************** *** 49,55 **** * instead of Tcl_Eval. */ { register Tcl_Obj *cmdPtr; ! int length = strlen(cmd); int result; if (length > 0) { --- 49,55 ---- * instead of Tcl_Eval. */ { register Tcl_Obj *cmdPtr; ! int length = (int) strlen(cmd); int result; if (length > 0) { *** generic/tclInt.decls 2002/01/27 11:09:30 1.45 --- generic/tclInt.decls 2002/01/29 06:44:08 *************** *** 277,283 **** # int TclpAccess(CONST char *path, int mode) #} declare 69 generic { ! char * TclpAlloc(unsigned int size) } #declare 70 generic { # int TclpCopyFile(CONST char *source, CONST char *dest) --- 277,283 ---- # int TclpAccess(CONST char *path, int mode) #} declare 69 generic { ! char * TclpAlloc(size_t size) } #declare 70 generic { # int TclpCopyFile(CONST char *source, CONST char *dest) *************** *** 320,326 **** # char *modeString, int permissions) #} declare 81 generic { ! char * TclpRealloc(char *ptr, unsigned int size) } #declare 82 generic { # int TclpRemoveDirectory(CONST char *path, int recursive, \ --- 320,326 ---- # char *modeString, int permissions) #} declare 81 generic { ! char * TclpRealloc(char *ptr, size_t size) } #declare 82 generic { # int TclpRemoveDirectory(CONST char *path, int recursive, \ *** generic/tclInt.h 2002/01/29 02:40:50 1.77 --- generic/tclInt.h 2002/01/29 06:44:17 *************** *** 1783,1789 **** int mode)); EXTERN int TclpObjLstat _ANSI_ARGS_((Tcl_Obj *pathPtr, struct stat *buf)); ! EXTERN char * TclpAlloc _ANSI_ARGS_((unsigned int size)); EXTERN int TclpCheckStackSpace _ANSI_ARGS_((void)); EXTERN Tcl_Obj* TclpTempFileName _ANSI_ARGS_((void)); EXTERN void TclpExit _ANSI_ARGS_((int status)); --- 1783,1789 ---- int mode)); EXTERN int TclpObjLstat _ANSI_ARGS_((Tcl_Obj *pathPtr, struct stat *buf)); ! EXTERN char * TclpAlloc _ANSI_ARGS_((size_t size)); EXTERN int TclpCheckStackSpace _ANSI_ARGS_((void)); EXTERN Tcl_Obj* TclpTempFileName _ANSI_ARGS_((void)); EXTERN void TclpExit _ANSI_ARGS_((int status)); *************** *** 1860,1866 **** EXTERN char * TclpReadlink _ANSI_ARGS_((CONST char *fileName, Tcl_DString *linkPtr)); EXTERN char * TclpRealloc _ANSI_ARGS_((char *ptr, ! unsigned int size)); EXTERN void TclpReleaseFile _ANSI_ARGS_((TclFile file)); EXTERN void TclpSetInitialEncodings _ANSI_ARGS_((void)); EXTERN void TclpSetVariables _ANSI_ARGS_((Tcl_Interp *interp)); --- 1860,1866 ---- EXTERN char * TclpReadlink _ANSI_ARGS_((CONST char *fileName, Tcl_DString *linkPtr)); EXTERN char * TclpRealloc _ANSI_ARGS_((char *ptr, ! size_t size)); EXTERN void TclpReleaseFile _ANSI_ARGS_((TclFile file)); EXTERN void TclpSetInitialEncodings _ANSI_ARGS_((void)); EXTERN void TclpSetVariables _ANSI_ARGS_((Tcl_Interp *interp)); *************** *** 2292,2300 **** (objPtr)->bytes = tclEmptyStringRep; \ (objPtr)->length = 0; \ } else { \ ! (objPtr)->bytes = (char *) ckalloc((unsigned) ((len) + 1)); \ memcpy((VOID *) (objPtr)->bytes, (VOID *) (bytePtr), \ ! (unsigned) (len)); \ (objPtr)->bytes[len] = '\0'; \ (objPtr)->length = (len); \ } --- 2292,2300 ---- (objPtr)->bytes = tclEmptyStringRep; \ (objPtr)->length = 0; \ } else { \ ! (objPtr)->bytes = (char *) ckalloc((len) + 1); \ memcpy((VOID *) (objPtr)->bytes, (VOID *) (bytePtr), \ ! (len)); \ (objPtr)->bytes[len] = '\0'; \ (objPtr)->length = (len); \ } *** generic/tclIntDecls.h 2002/01/25 22:01:31 1.37 --- generic/tclIntDecls.h 2002/01/29 06:44:22 *************** *** 238,244 **** TclOpenFileChannelProc_ * proc)); /* Slot 68 is reserved */ /* 69 */ ! EXTERN char * TclpAlloc _ANSI_ARGS_((unsigned int size)); /* Slot 70 is reserved */ /* Slot 71 is reserved */ /* Slot 72 is reserved */ --- 238,244 ---- TclOpenFileChannelProc_ * proc)); /* Slot 68 is reserved */ /* 69 */ ! EXTERN char * TclpAlloc _ANSI_ARGS_((size_t size)); /* Slot 70 is reserved */ /* Slot 71 is reserved */ /* Slot 72 is reserved */ *************** *** 256,263 **** /* Slot 79 is reserved */ /* Slot 80 is reserved */ /* 81 */ ! EXTERN char * TclpRealloc _ANSI_ARGS_((char * ptr, ! unsigned int size)); /* Slot 82 is reserved */ /* Slot 83 is reserved */ /* Slot 84 is reserved */ --- 256,262 ---- /* Slot 79 is reserved */ /* Slot 80 is reserved */ /* 81 */ ! EXTERN char * TclpRealloc _ANSI_ARGS_((char * ptr, size_t size)); /* Slot 82 is reserved */ /* Slot 83 is reserved */ /* Slot 84 is reserved */ *************** *** 592,598 **** int (*tclOpenFileChannelDeleteProc) _ANSI_ARGS_((TclOpenFileChannelProc_ * proc)); /* 66 */ int (*tclOpenFileChannelInsertProc) _ANSI_ARGS_((TclOpenFileChannelProc_ * proc)); /* 67 */ void *reserved68; ! char * (*tclpAlloc) _ANSI_ARGS_((unsigned int size)); /* 69 */ void *reserved70; void *reserved71; void *reserved72; --- 591,597 ---- int (*tclOpenFileChannelDeleteProc) _ANSI_ARGS_((TclOpenFileChannelProc_ * proc)); /* 66 */ int (*tclOpenFileChannelInsertProc) _ANSI_ARGS_((TclOpenFileChannelProc_ * proc)); /* 67 */ void *reserved68; ! char * (*tclpAlloc) _ANSI_ARGS_((size_t size)); /* 69 */ void *reserved70; void *reserved71; void *reserved72; *************** *** 604,610 **** int (*tclpGetTimeZone) _ANSI_ARGS_((unsigned long time)); /* 78 */ void *reserved79; void *reserved80; ! char * (*tclpRealloc) _ANSI_ARGS_((char * ptr, unsigned int size)); /* 81 */ void *reserved82; void *reserved83; void *reserved84; --- 603,609 ---- int (*tclpGetTimeZone) _ANSI_ARGS_((unsigned long time)); /* 78 */ void *reserved79; void *reserved80; ! char * (*tclpRealloc) _ANSI_ARGS_((char * ptr, size_t size)); /* 81 */ void *reserved82; void *reserved83; void *reserved84; *** generic/tclIO.c 2002/01/26 01:10:08 1.51 --- generic/tclIO.c 2002/01/29 06:44:44 *************** *** 2708,2714 **** } if (srcLen < 0) { ! srcLen = strlen(src); } return DoWrite(chanPtr, src, srcLen); } --- 2708,2714 ---- } if (srcLen < 0) { ! srcLen = (int) strlen(src); } return DoWrite(chanPtr, src, srcLen); } *************** *** 2753,2759 **** } if (srcLen < 0) { ! srcLen = strlen(src); } /* --- 2753,2759 ---- } if (srcLen < 0) { ! srcLen = (int) strlen(src); } /* *************** *** 2851,2857 **** chanPtr = statePtr->topChanPtr; if (len < 0) { ! len = strlen(src); } if (statePtr->encoding == NULL) { /* --- 2851,2857 ---- chanPtr = statePtr->topChanPtr; if (len < 0) { ! len = (int) strlen(src); } if (statePtr->encoding == NULL) { /* *************** *** 3305,3312 **** } *dst++ = *src++; } ! *srcLenPtr = src - srcStart; ! *dstLenPtr = dst - dstStart; break; } default: { --- 3305,3312 ---- } *dst++ = *src++; } ! *srcLenPtr = (int) (src - srcStart); ! *dstLenPtr = (int) (dst - dstStart); break; } default: { *************** *** 3564,3570 **** if (eol >= dstEnd) { int offset; ! offset = eol - objPtr->bytes; dst = dstEnd; if (FilterInputBytes(chanPtr, &gs) != 0) { goto restore; --- 3564,3570 ---- if (eol >= dstEnd) { int offset; ! offset = (int) (eol - objPtr->bytes); dst = dstEnd; if (FilterInputBytes(chanPtr, &gs) != 0) { goto restore; *************** *** 3622,3628 **** int offset; ! offset = eol - objPtr->bytes; dst = dstEnd; PeekAhead(chanPtr, &dstEnd, &gs); eol = objPtr->bytes + offset; --- 3622,3628 ---- int offset; ! offset = (int) (eol - objPtr->bytes); dst = dstEnd; PeekAhead(chanPtr, &dstEnd, &gs); eol = objPtr->bytes + offset; *************** *** 3686,3692 **** statePtr->inputEncodingState = gs.state; Tcl_ExternalToUtf(NULL, gs.encoding, bufPtr->buf + bufPtr->nextRemoved, gs.rawRead, statePtr->inputEncodingFlags, ! &statePtr->inputEncodingState, dst, eol - dst + skip + TCL_UTF_MAX, &gs.rawRead, NULL, &gs.charsWrote); bufPtr->nextRemoved += gs.rawRead; --- 3686,3692 ---- statePtr->inputEncodingState = gs.state; Tcl_ExternalToUtf(NULL, gs.encoding, bufPtr->buf + bufPtr->nextRemoved, gs.rawRead, statePtr->inputEncodingFlags, ! &statePtr->inputEncodingState, dst, (int) (eol - dst + skip + TCL_UTF_MAX), &gs.rawRead, NULL, &gs.charsWrote); bufPtr->nextRemoved += gs.rawRead; *************** *** 3694,3700 **** * Recycle all the emptied buffers. */ ! Tcl_SetObjLength(objPtr, eol - objPtr->bytes); CommonGetsCleanup(chanPtr, encoding); statePtr->flags &= ~CHANNEL_BLOCKED; copiedTotal = gs.totalChars + gs.charsWrote - skip; --- 3694,3700 ---- * Recycle all the emptied buffers. */ ! Tcl_SetObjLength(objPtr, (int) (eol - objPtr->bytes)); CommonGetsCleanup(chanPtr, encoding); statePtr->flags &= ~CHANNEL_BLOCKED; copiedTotal = gs.totalChars + gs.charsWrote - skip; *************** *** 3835,3850 **** rawStart = bufPtr->buf + bufPtr->nextRemoved; raw = rawStart; rawEnd = bufPtr->buf + bufPtr->nextAdded; ! rawLen = rawEnd - rawStart; dst = *gsPtr->dstPtr; ! offset = dst - objPtr->bytes; toRead = ENCODING_LINESIZE; if (toRead > rawLen) { toRead = rawLen; } dstNeeded = toRead * TCL_UTF_MAX + 1; ! spaceLeft = objPtr->length - offset - TCL_UTF_MAX - 1; if (dstNeeded > spaceLeft) { length = offset * 2; if (offset < dstNeeded) { --- 3835,3850 ---- rawStart = bufPtr->buf + bufPtr->nextRemoved; raw = rawStart; rawEnd = bufPtr->buf + bufPtr->nextAdded; ! rawLen = (int) (rawEnd - rawStart); dst = *gsPtr->dstPtr; ! offset = (int) (dst - objPtr->bytes); toRead = ENCODING_LINESIZE; if (toRead > rawLen) { toRead = rawLen; } dstNeeded = toRead * TCL_UTF_MAX + 1; ! spaceLeft = (int) (objPtr->length - offset - TCL_UTF_MAX - 1); if (dstNeeded > spaceLeft) { length = offset * 2; if (offset < dstNeeded) { *************** *** 4598,4604 **** */ dstNeeded = toRead * factor / UTF_EXPANSION_FACTOR; ! spaceLeft = objPtr->length - offset - TCL_UTF_MAX - 1; if (dstNeeded > spaceLeft) { /* --- 4598,4604 ---- */ dstNeeded = toRead * factor / UTF_EXPANSION_FACTOR; ! spaceLeft = (int) (objPtr->length - offset - TCL_UTF_MAX - 1); if (dstNeeded > spaceLeft) { /* *************** *** 4731,4737 **** statePtr->inputEncodingState = oldState; Tcl_ExternalToUtf(NULL, statePtr->encoding, src, srcLen, statePtr->inputEncodingFlags, &statePtr->inputEncodingState, ! dst, eof - dst + TCL_UTF_MAX, &srcRead, &dstWrote, &numChars); dstRead = dstWrote; TranslateInputEOL(statePtr, dst, dst, &dstWrote, &dstRead); numChars -= (dstRead - dstWrote); --- 4731,4738 ---- statePtr->inputEncodingState = oldState; Tcl_ExternalToUtf(NULL, statePtr->encoding, src, srcLen, statePtr->inputEncodingFlags, &statePtr->inputEncodingState, ! dst, (int) (eof - dst + TCL_UTF_MAX), &srcRead, &dstWrote, ! &numChars); dstRead = dstWrote; TranslateInputEOL(statePtr, dst, dst, &dstWrote, &dstRead); numChars -= (dstRead - dstWrote); *************** *** 4801,4807 **** for (src = srcStart; src < srcMax; src++) { if (*src == inEofChar) { eof = src; ! srcLen = src - srcStart; if (srcLen < dstLen) { dstLen = srcLen; } --- 4802,4808 ---- for (src = srcStart; src < srcMax; src++) { if (*src == inEofChar) { eof = src; ! srcLen = (int) (src - srcStart); if (srcLen < dstLen) { dstLen = srcLen; } *************** *** 4856,4863 **** *dst++ = *src++; } } ! srcLen = src - srcStart; ! dstLen = dst - dstStart; break; } case TCL_TRANSLATE_AUTO: { --- 4857,4864 ---- *dst++ = *src++; } } ! srcLen = (int) (src - srcStart); ! dstLen = (int) (dst - dstStart); break; } case TCL_TRANSLATE_AUTO: { *************** *** 4891,4898 **** *dst++ = *src++; } } ! srcLen = src - srcStart; ! dstLen = dst - dstStart; break; } default: { /* lint. */ --- 4892,4899 ---- *dst++ = *src++; } } ! srcLen = (int) (src - srcStart); ! dstLen = (int) (dst - dstStart); break; } default: { /* lint. */ *************** *** 7849,7855 **** dst++; } } ! copied = dst - result; break; } case TCL_TRANSLATE_AUTO: { --- 7850,7856 ---- dst++; } } ! copied = (int) (dst - result); break; } case TCL_TRANSLATE_AUTO: { *************** *** 7891,7897 **** statePtr->flags &= ~INPUT_SAW_CR; } } ! copied = dst - result; break; } default: { --- 7892,7898 ---- statePtr->flags &= ~INPUT_SAW_CR; } } ! copied = (int) (dst - result); break; } default: { *************** *** 8568,8574 **** CONST char *name; int chanNameLen; ! chanNameLen = strlen(chanName); for (statePtr = tsdPtr->firstCSPtr; statePtr != NULL; statePtr = statePtr->nextCSPtr) { --- 8569,8575 ---- CONST char *name; int chanNameLen; ! chanNameLen = (int) strlen(chanName); for (statePtr = tsdPtr->firstCSPtr; statePtr != NULL; statePtr = statePtr->nextCSPtr) { *** generic/tclIOSock.c 2002/01/25 20:40:55 1.6 --- generic/tclIOSock.c 2002/01/29 06:44:46 *************** *** 94,100 **** /* * Should be socklen_t, but HP10.20 (g)cc chokes */ ! size_t len; len = sizeof(int); getsockopt(sock, SOL_SOCKET, SO_SNDBUF, (char *)¤t, &len); --- 94,100 ---- /* * Should be socklen_t, but HP10.20 (g)cc chokes */ ! int len; len = sizeof(int); getsockopt(sock, SOL_SOCKET, SO_SNDBUF, (char *)¤t, &len); *** generic/tclIOUtil.c 2002/01/25 21:36:09 1.33 --- generic/tclIOUtil.c 2002/01/29 06:44:59 *************** *** 2648,2654 **** while ((*p != '\0') && (*p != separator)) { p++; } ! length = p - elementStart; if (length > 0) { Tcl_Obj *nextElt; if (elementStart[0] == '~') { --- 2648,2654 ---- while ((*p != '\0') && (*p != separator)) { p++; } ! length = (int) (p - elementStart); if (length > 0) { Tcl_Obj *nextElt; if (elementStart[0] == '~') { *************** *** 2803,2809 **** needsSep = 1; } } ! length = ptr - Tcl_GetString(res); Tcl_SetObjLength(res, length); } } --- 2803,2809 ---- needsSep = 1; } } ! length = (int) (ptr - Tcl_GetString(res)); Tcl_SetObjLength(res, length); } } *** generic/tclListObj.c 2002/01/07 23:09:13 1.13 --- generic/tclListObj.c 2002/01/29 06:45:04 *************** *** 1516,1526 **** * corresponding "argv" strings. */ ! elemPtrs = (Tcl_Obj **) ! ckalloc((unsigned) (estCount * sizeof(Tcl_Obj *))); for (p = string, lenRemain = length, i = 0; lenRemain > 0; ! p = nextElem, lenRemain = (limit - nextElem), i++) { result = TclFindElement(interp, p, lenRemain, &elemStart, &nextElem, &elemSize, &hasBrace); if (result != TCL_OK) { --- 1516,1525 ---- * corresponding "argv" strings. */ ! elemPtrs = (Tcl_Obj **) ckalloc(estCount * sizeof(Tcl_Obj *)); for (p = string, lenRemain = length, i = 0; lenRemain > 0; ! p = nextElem, lenRemain = (int) (limit - nextElem), i++) { result = TclFindElement(interp, p, lenRemain, &elemStart, &nextElem, &elemSize, &hasBrace); if (result != TCL_OK) { *** generic/tclLiteral.c 2001/10/11 22:28:01 1.11 --- generic/tclLiteral.c 2002/01/29 06:45:09 *************** *** 189,195 **** char buf[TCL_INTEGER_SPACE]; if (length < 0) { ! length = (bytes? strlen(bytes) : 0); } hash = HashString(bytes, length); --- 189,195 ---- char buf[TCL_INTEGER_SPACE]; if (length < 0) { ! length = (bytes ? (int) strlen(bytes) : 0); } hash = HashString(bytes, length); *************** *** 202,215 **** for (localPtr = localTablePtr->buckets[localHash]; localPtr != NULL; localPtr = localPtr->nextPtr) { objPtr = localPtr->objPtr; ! if ((objPtr->length == length) && ((length == 0) || ((objPtr->bytes[0] == bytes[0]) ! && (memcmp(objPtr->bytes, bytes, (unsigned) length) == 0)))) { if (onHeap) { ckfree(bytes); } ! objIndex = (localPtr - envPtr->literalArrayPtr); #ifdef TCL_COMPILE_DEBUG TclVerifyLocalLiteralTable(envPtr); #endif /*TCL_COMPILE_DEBUG*/ --- 202,215 ---- for (localPtr = localTablePtr->buckets[localHash]; localPtr != NULL; localPtr = localPtr->nextPtr) { objPtr = localPtr->objPtr; ! if ((objPtr->length == (size_t) length) && ((length == 0) || ((objPtr->bytes[0] == bytes[0]) ! && (memcmp(objPtr->bytes, bytes, (size_t) length) == 0)))) { if (onHeap) { ckfree(bytes); } ! objIndex = (int) (localPtr - envPtr->literalArrayPtr); #ifdef TCL_COMPILE_DEBUG TclVerifyLocalLiteralTable(envPtr); #endif /*TCL_COMPILE_DEBUG*/ *************** *** 227,235 **** for (globalPtr = globalTablePtr->buckets[globalHash]; globalPtr != NULL; globalPtr = globalPtr->nextPtr) { objPtr = globalPtr->objPtr; ! if ((objPtr->length == length) && ((length == 0) || ((objPtr->bytes[0] == bytes[0]) ! && (memcmp(objPtr->bytes, bytes, (unsigned) length) == 0)))) { /* * A global literal was found. Add an entry to the CompileEnv's --- 227,235 ---- for (globalPtr = globalTablePtr->buckets[globalHash]; globalPtr != NULL; globalPtr = globalPtr->nextPtr) { objPtr = globalPtr->objPtr; ! if ((objPtr->length == (size_t) length) && ((length == 0) || ((objPtr->bytes[0] == bytes[0]) ! && (memcmp(objPtr->bytes, bytes, (size_t) length) == 0)))) { /* * A global literal was found. Add an entry to the CompileEnv's *** generic/tclLoad.c 2002/01/09 19:09:28 1.7 --- generic/tclLoad.c 2002/01/29 06:45:12 *************** *** 308,314 **** code = TCL_ERROR; goto done; } ! Tcl_DStringAppend(&pkgName, pkgGuess, (p - pkgGuess)); Tcl_DecrRefCount(splitPtr); } } --- 308,314 ---- code = TCL_ERROR; goto done; } ! Tcl_DStringAppend(&pkgName, pkgGuess, (int) (p - pkgGuess)); Tcl_DecrRefCount(splitPtr); } } *** generic/tclNamesp.c 2002/01/25 22:01:32 1.28 --- generic/tclNamesp.c 2002/01/29 06:45:23 *************** *** 917,923 **** Namespace *currNsPtr = (Namespace *) Tcl_GetCurrentNamespace(interp); CONST char *simplePattern; char *patternCpy; ! int neededElems, len, i; /* * If the specified namespace is NULL, use the current namespace. --- 917,924 ---- Namespace *currNsPtr = (Namespace *) Tcl_GetCurrentNamespace(interp); CONST char *simplePattern; char *patternCpy; ! int neededElems, i; ! size_t len; /* * If the specified namespace is NULL, use the current namespace. *************** *** 1005,1011 **** */ len = strlen(pattern); ! patternCpy = (char *) ckalloc((unsigned) (len + 1)); strcpy(patternCpy, pattern); nsPtr->exportArrayPtr[nsPtr->numExportPatterns] = patternCpy; --- 1006,1012 ---- */ len = strlen(pattern); ! patternCpy = (char *) ckalloc(len + 1); strcpy(patternCpy, pattern); nsPtr->exportArrayPtr[nsPtr->numExportPatterns] = patternCpy; *************** *** 3577,3583 **** } if (p >= name) { ! length = p-name+1; Tcl_AppendToObj(Tcl_GetObjResult(interp), name, length); } return TCL_OK; --- 3578,3584 ---- } if (p >= name) { ! length = (int) (p-name+1); Tcl_AppendToObj(Tcl_GetObjResult(interp), name, length); } return TCL_OK; *************** *** 3949,3955 **** * if the internal rep is NULL. */ ! length = strlen(name); if (length == 0) { objPtr->bytes = tclEmptyStringRep; } else { --- 3950,3956 ---- * if the internal rep is NULL. */ ! length = (int) strlen(name); if (length == 0) { objPtr->bytes = tclEmptyStringRep; } else { *** generic/tclObj.c 2002/01/25 21:36:09 1.28 --- generic/tclObj.c 2002/01/29 06:45:31 *************** *** 841,847 **** } if (lengthPtr != NULL) { ! *lengthPtr = objPtr->length; } return objPtr->bytes; } --- 841,847 ---- } if (lengthPtr != NULL) { ! *lengthPtr = (int) objPtr->length; } return objPtr->bytes; } *************** *** 1545,1557 **** register Tcl_Obj *objPtr; /* Double obj with string rep to update. */ { char buffer[TCL_DOUBLE_SPACE]; ! register int len; Tcl_PrintDouble((Tcl_Interp *) NULL, objPtr->internalRep.doubleValue, buffer); len = strlen(buffer); ! objPtr->bytes = (char *) ckalloc((unsigned) len + 1); strcpy(objPtr->bytes, buffer); objPtr->length = len; } --- 1545,1557 ---- register Tcl_Obj *objPtr; /* Double obj with string rep to update. */ { char buffer[TCL_DOUBLE_SPACE]; ! register size_t len; Tcl_PrintDouble((Tcl_Interp *) NULL, objPtr->internalRep.doubleValue, buffer); len = strlen(buffer); ! objPtr->bytes = (char *) ckalloc(len + 1); strcpy(objPtr->bytes, buffer); objPtr->length = len; } *************** *** 2272,2278 **** Tcl_Obj *objPtr1 = (Tcl_Obj *) keyPtr; Tcl_Obj *objPtr2 = (Tcl_Obj *) hPtr->key.oneWordValue; register CONST char *p1, *p2; ! register int l1, l2; /* * If the object pointers are the same then they match. --- 2272,2278 ---- Tcl_Obj *objPtr1 = (Tcl_Obj *) keyPtr; Tcl_Obj *objPtr2 = (Tcl_Obj *) hPtr->key.oneWordValue; register CONST char *p1, *p2; ! register size_t l1, l2; /* * If the object pointers are the same then they match. *************** *** 2358,2364 **** { Tcl_Obj *objPtr = (Tcl_Obj *) keyPtr; register CONST char *string; ! register int length; register unsigned int result; register int c; --- 2358,2364 ---- { Tcl_Obj *objPtr = (Tcl_Obj *) keyPtr; register CONST char *string; ! register size_t length; register unsigned int result; register int c; *** generic/tclParse.c 2002/01/17 02:43:19 1.19 --- generic/tclParse.c 2002/01/29 06:45:36 *************** *** 243,249 **** if (numBytes < 0) { ! numBytes = (string? strlen(string) : 0); } parsePtr->commentStart = NULL; parsePtr->commentSize = 0; --- 243,249 ---- if (numBytes < 0) { ! numBytes = (string ? (int) strlen(string) : 0); } parsePtr->commentStart = NULL; parsePtr->commentSize = 0; *************** *** 311,317 **** if (nested) { parsePtr->incomplete = nested; } ! parsePtr->commentSize = src - parsePtr->commentStart; break; } else if (*src == '\\') { if ((src[1] == '\n') && ((src + 2) == parsePtr->end)) { --- 311,317 ---- if (nested) { parsePtr->incomplete = nested; } ! parsePtr->commentSize = (int) (src - parsePtr->commentStart); break; } else if (*src == '\\') { if ((src[1] == '\n') && ((src + 2) == parsePtr->end)) { *************** *** 321,327 **** src += length; } else if (*src == '\n') { src++; ! parsePtr->commentSize = src - parsePtr->commentStart; break; } else { src++; --- 321,327 ---- src += length; } else if (*src == '\n') { src++; ! parsePtr->commentSize = (int) (src - parsePtr->commentStart); break; } else { src++; *************** *** 386,398 **** */ if (*src == '"') { ! if (Tcl_ParseQuotedString(interp, src, (parsePtr->end - src), parsePtr, 1, &termPtr) != TCL_OK) { goto error; } src = termPtr; } else if (*src == '{') { ! if (Tcl_ParseBraces(interp, src, (parsePtr->end - src), parsePtr, 1, &termPtr) != TCL_OK) { goto error; } --- 386,398 ---- */ if (*src == '"') { ! if (Tcl_ParseQuotedString(interp, src, (int) (parsePtr->end - src), parsePtr, 1, &termPtr) != TCL_OK) { goto error; } src = termPtr; } else if (*src == '{') { ! if (Tcl_ParseBraces(interp, src, (int) (parsePtr->end - src), parsePtr, 1, &termPtr) != TCL_OK) { goto error; } *************** *** 417,423 **** */ tokenPtr = &parsePtr->tokenPtr[wordIndex]; ! tokenPtr->size = src - tokenPtr->start; tokenPtr->numComponents = parsePtr->numTokens - (wordIndex + 1); if ((tokenPtr->numComponents == 1) && (tokenPtr[1].type == TCL_TOKEN_TEXT)) { --- 417,423 ---- */ tokenPtr = &parsePtr->tokenPtr[wordIndex]; ! tokenPtr->size = (int) (src - tokenPtr->start); tokenPtr->numComponents = parsePtr->numTokens - (wordIndex + 1); if ((tokenPtr->numComponents == 1) && (tokenPtr[1].type == TCL_TOKEN_TEXT)) { *************** *** 477,483 **** } ! parsePtr->commandSize = src - parsePtr->commandStart; if (savedChar != 0) { string[numBytes] = (char) savedChar; } --- 477,483 ---- } ! parsePtr->commandSize = (int) (src - parsePtr->commandStart); if (savedChar != 0) { string[numBytes] = (char) savedChar; } *************** *** 491,497 **** if (parsePtr->commandStart == NULL) { parsePtr->commandStart = string; } ! parsePtr->commandSize = parsePtr->term - parsePtr->commandStart; return TCL_ERROR; } --- 491,497 ---- if (parsePtr->commandStart == NULL) { parsePtr->commandStart = string; } ! parsePtr->commandSize = (int) (parsePtr->term - parsePtr->commandStart); return TCL_ERROR; } *************** *** 571,577 **** } } tokenPtr->type = TCL_TOKEN_TEXT; ! tokenPtr->size = src - tokenPtr->start; parsePtr->numTokens++; } else if (*src == '$') { /* --- 571,577 ---- } } tokenPtr->type = TCL_TOKEN_TEXT; ! tokenPtr->size = (int) (src - tokenPtr->start); parsePtr->numTokens++; } else if (*src == '$') { /* *************** *** 580,586 **** */ varToken = parsePtr->numTokens; ! if (Tcl_ParseVarName(parsePtr->interp, src, parsePtr->end - src, parsePtr, 1) != TCL_OK) { return TCL_ERROR; } --- 580,586 ---- */ varToken = parsePtr->numTokens; ! if (Tcl_ParseVarName(parsePtr->interp, src, (int) (parsePtr->end - src), parsePtr, 1) != TCL_OK) { return TCL_ERROR; } *************** *** 595,601 **** src++; while (1) { if (Tcl_ParseCommand(parsePtr->interp, src, ! parsePtr->end - src, 1, &nested) != TCL_OK) { parsePtr->errorType = nested.errorType; parsePtr->term = nested.term; parsePtr->incomplete = nested.incomplete; --- 595,601 ---- src++; while (1) { if (Tcl_ParseCommand(parsePtr->interp, src, ! (int) (parsePtr->end - src), 1, &nested) != TCL_OK) { parsePtr->errorType = nested.errorType; parsePtr->term = nested.term; parsePtr->incomplete = nested.incomplete; *************** *** 620,626 **** } } tokenPtr->type = TCL_TOKEN_COMMAND; ! tokenPtr->size = src - tokenPtr->start; parsePtr->numTokens++; } else if (*src == '\\') { /* --- 620,626 ---- } } tokenPtr->type = TCL_TOKEN_COMMAND; ! tokenPtr->size = (int) (src - tokenPtr->start); parsePtr->numTokens++; } else if (*src == '\\') { /* *************** *** 880,887 **** } src++; } ! tokenPtr->size = src - tokenPtr->start; ! tokenPtr[-1].size = src - tokenPtr[-1].start; parsePtr->numTokens++; src++; } else { --- 880,887 ---- } src++; } ! tokenPtr->size = (int) (src - tokenPtr->start); ! tokenPtr[-1].size = (int) (src - tokenPtr[-1].start); parsePtr->numTokens++; src++; } else { *************** *** 909,915 **** * Support for empty array names here. */ array = ((src != end) && (*src == '(')); ! tokenPtr->size = src - tokenPtr->start; if (tokenPtr->size == 0 && !array) { goto justADollarSign; } --- 909,915 ---- * Support for empty array names here. */ array = ((src != end) && (*src == '(')); ! tokenPtr->size = (int) (src - tokenPtr->start); if (tokenPtr->size == 0 && !array) { goto justADollarSign; } *************** *** 939,945 **** } } tokenPtr = &parsePtr->tokenPtr[varIndex]; ! tokenPtr->size = src - tokenPtr->start; tokenPtr->numComponents = parsePtr->numTokens - (varIndex + 1); return TCL_OK; --- 939,945 ---- } } tokenPtr = &parsePtr->tokenPtr[varIndex]; ! tokenPtr->size = (int) (src - tokenPtr->start); tokenPtr->numComponents = parsePtr->numTokens - (varIndex + 1); return TCL_OK; *************** *** 1138,1144 **** if ((src + 2) == end) { parsePtr->incomplete = 1; } ! tokenPtr->size = (src - tokenPtr->start); if (tokenPtr->size != 0) { parsePtr->numTokens++; } --- 1138,1144 ---- if ((src + 2) == end) { parsePtr->incomplete = 1; } ! tokenPtr->size = (int) (src - tokenPtr->start); if (tokenPtr->size != 0) { parsePtr->numTokens++; } *************** *** 1220,1226 **** if ((src != tokenPtr->start) || (parsePtr->numTokens == startIndex)) { ! tokenPtr->size = (src - tokenPtr->start); parsePtr->numTokens++; } if (termPtr != NULL) { --- 1220,1226 ---- if ((src != tokenPtr->start) || (parsePtr->numTokens == startIndex)) { ! tokenPtr->size = (int) (src - tokenPtr->start); parsePtr->numTokens++; } if (termPtr != NULL) { *************** *** 1355,1361 **** p = script; end = p + length; ! while (Tcl_ParseCommand((Tcl_Interp *) NULL, p, end - p, 0, &parse) == TCL_OK) { p = parse.commandStart + parse.commandSize; if (*p == 0) { --- 1355,1361 ---- p = script; end = p + length; ! while (Tcl_ParseCommand((Tcl_Interp *) NULL, p, (int) (end - p), 0, &parse) == TCL_OK) { p = parse.commandStart + parse.commandSize; if (*p == 0) { *** generic/tclParseExpr.c 2001/12/06 10:59:17 1.11 --- generic/tclParseExpr.c 2002/01/29 06:45:42 *************** *** 226,232 **** char savedChar; if (numBytes < 0) { ! numBytes = (string? strlen(string) : 0); } #ifdef TCL_COMPILE_DEBUG if (traceParseExpr) { --- 226,232 ---- char savedChar; if (numBytes < 0) { ! numBytes = (string ? (int) strlen(string) : 0); } #ifdef TCL_COMPILE_DEBUG if (traceParseExpr) { *************** *** 415,421 **** */ condTokenPtr = &parsePtr->tokenPtr[firstIndex]; ! condTokenPtr->size = (infoPtr->prevEnd - srcStart); condTokenPtr->numComponents = parsePtr->numTokens - (firstIndex+1); } return TCL_OK; --- 415,421 ---- */ condTokenPtr = &parsePtr->tokenPtr[firstIndex]; ! condTokenPtr->size = (int) (infoPtr->prevEnd - srcStart); condTokenPtr->numComponents = parsePtr->numTokens - (firstIndex+1); } return TCL_OK; *************** *** 476,482 **** */ PrependSubExprTokens(operator, 2, srcStart, ! (infoPtr->prevEnd - srcStart), firstIndex, infoPtr); } return TCL_OK; } --- 476,482 ---- */ PrependSubExprTokens(operator, 2, srcStart, ! (int) (infoPtr->prevEnd - srcStart), firstIndex, infoPtr); } return TCL_OK; } *************** *** 536,542 **** */ PrependSubExprTokens(operator, 2, srcStart, ! (infoPtr->prevEnd - srcStart), firstIndex, infoPtr); } return TCL_OK; } --- 536,542 ---- */ PrependSubExprTokens(operator, 2, srcStart, ! (int) (infoPtr->prevEnd - srcStart), firstIndex, infoPtr); } return TCL_OK; } *************** *** 597,603 **** */ PrependSubExprTokens(operator, 1, srcStart, ! (infoPtr->prevEnd - srcStart), firstIndex, infoPtr); } return TCL_OK; } --- 597,603 ---- */ PrependSubExprTokens(operator, 1, srcStart, ! (int) (infoPtr->prevEnd - srcStart), firstIndex, infoPtr); } return TCL_OK; } *************** *** 658,664 **** */ PrependSubExprTokens(operator, 1, srcStart, ! (infoPtr->prevEnd - srcStart), firstIndex, infoPtr); } return TCL_OK; } --- 658,664 ---- */ PrependSubExprTokens(operator, 1, srcStart, ! (int) (infoPtr->prevEnd - srcStart), firstIndex, infoPtr); } return TCL_OK; } *************** *** 718,724 **** */ PrependSubExprTokens(operator, 1, srcStart, ! (infoPtr->prevEnd - srcStart), firstIndex, infoPtr); } return TCL_OK; } --- 718,724 ---- */ PrependSubExprTokens(operator, 1, srcStart, ! (int) (infoPtr->prevEnd - srcStart), firstIndex, infoPtr); } return TCL_OK; } *************** *** 782,788 **** */ PrependSubExprTokens(operator, 2, srcStart, ! (infoPtr->prevEnd - srcStart), firstIndex, infoPtr); lexeme = infoPtr->lexeme; } return TCL_OK; --- 782,788 ---- */ PrependSubExprTokens(operator, 2, srcStart, ! (int) (infoPtr->prevEnd - srcStart), firstIndex, infoPtr); lexeme = infoPtr->lexeme; } return TCL_OK; *************** *** 850,856 **** */ PrependSubExprTokens(operator, operatorSize, srcStart, ! (infoPtr->prevEnd - srcStart), firstIndex, infoPtr); lexeme = infoPtr->lexeme; } return TCL_OK; --- 850,856 ---- */ PrependSubExprTokens(operator, operatorSize, srcStart, ! (int) (infoPtr->prevEnd - srcStart), firstIndex, infoPtr); lexeme = infoPtr->lexeme; } return TCL_OK; *************** *** 912,918 **** */ PrependSubExprTokens(operator, 2, srcStart, ! (infoPtr->prevEnd - srcStart), firstIndex, infoPtr); lexeme = infoPtr->lexeme; } return TCL_OK; --- 912,918 ---- */ PrependSubExprTokens(operator, 2, srcStart, ! (int) (infoPtr->prevEnd - srcStart), firstIndex, infoPtr); lexeme = infoPtr->lexeme; } return TCL_OK; *************** *** 974,980 **** */ PrependSubExprTokens(operator, 1, srcStart, ! (infoPtr->prevEnd - srcStart), firstIndex, infoPtr); lexeme = infoPtr->lexeme; } return TCL_OK; --- 974,980 ---- */ PrependSubExprTokens(operator, 1, srcStart, ! (int) (infoPtr->prevEnd - srcStart), firstIndex, infoPtr); lexeme = infoPtr->lexeme; } return TCL_OK; *************** *** 1036,1042 **** */ PrependSubExprTokens(operator, 1, srcStart, ! (infoPtr->prevEnd - srcStart), firstIndex, infoPtr); lexeme = infoPtr->lexeme; } return TCL_OK; --- 1036,1042 ---- */ PrependSubExprTokens(operator, 1, srcStart, ! (int) (infoPtr->prevEnd - srcStart), firstIndex, infoPtr); lexeme = infoPtr->lexeme; } return TCL_OK; *************** *** 1094,1100 **** */ PrependSubExprTokens(operator, 1, srcStart, ! (infoPtr->prevEnd - srcStart), firstIndex, infoPtr); } else { /* must be a primaryExpr */ code = ParsePrimaryExpr(infoPtr); if (code != TCL_OK) { --- 1094,1100 ---- */ PrependSubExprTokens(operator, 1, srcStart, ! (int) (infoPtr->prevEnd - srcStart), firstIndex, infoPtr); } else { /* must be a primaryExpr */ code = ParsePrimaryExpr(infoPtr); if (code != TCL_OK) { *************** *** 1213,1219 **** dollarPtr = (infoPtr->next - 1); code = Tcl_ParseVarName(interp, dollarPtr, ! (infoPtr->lastChar - dollarPtr), parsePtr, 1); if (code != TCL_OK) { return code; } --- 1213,1219 ---- dollarPtr = (infoPtr->next - 1); code = Tcl_ParseVarName(interp, dollarPtr, ! (int) (infoPtr->lastChar - dollarPtr), parsePtr, 1); if (code != TCL_OK) { return code; } *************** *** 1232,1245 **** stringStart = infoPtr->next; code = Tcl_ParseQuotedString(interp, infoPtr->start, ! (infoPtr->lastChar - stringStart), parsePtr, 1, &termPtr); if (code != TCL_OK) { return code; } infoPtr->next = termPtr; exprTokenPtr = &parsePtr->tokenPtr[exprIndex]; ! exprTokenPtr->size = (termPtr - exprTokenPtr->start); exprTokenPtr->numComponents = parsePtr->numTokens - firstIndex; /* --- 1232,1245 ---- stringStart = infoPtr->next; code = Tcl_ParseQuotedString(interp, infoPtr->start, ! (int) (infoPtr->lastChar - stringStart), parsePtr, 1, &termPtr); if (code != TCL_OK) { return code; } infoPtr->next = termPtr; exprTokenPtr = &parsePtr->tokenPtr[exprIndex]; ! exprTokenPtr->size = (int) (termPtr - exprTokenPtr->start); exprTokenPtr->numComponents = parsePtr->numTokens - firstIndex; /* *************** *** 1289,1295 **** src = infoPtr->next; while (1) { ! if (Tcl_ParseCommand(interp, src, (parsePtr->end - src), 1, &nested) != TCL_OK) { parsePtr->term = nested.term; parsePtr->errorType = nested.errorType; --- 1289,1295 ---- src = infoPtr->next; while (1) { ! if (Tcl_ParseCommand(interp, src, (int) (parsePtr->end - src), 1, &nested) != TCL_OK) { parsePtr->term = nested.term; parsePtr->errorType = nested.errorType; *************** *** 1314,1324 **** return TCL_ERROR; } } ! tokenPtr->size = (src - tokenPtr->start); infoPtr->next = src; exprTokenPtr = &parsePtr->tokenPtr[exprIndex]; ! exprTokenPtr->size = (src - tokenPtr->start); exprTokenPtr->numComponents = 1; break; --- 1314,1324 ---- return TCL_ERROR; } } ! tokenPtr->size = (int) (src - tokenPtr->start); infoPtr->next = src; exprTokenPtr = &parsePtr->tokenPtr[exprIndex]; ! exprTokenPtr->size = (int) (src - tokenPtr->start); exprTokenPtr->numComponents = 1; break; *************** *** 1328,1334 **** */ code = Tcl_ParseBraces(interp, infoPtr->start, ! (infoPtr->lastChar - infoPtr->start), parsePtr, 1, &termPtr); if (code != TCL_OK) { return code; --- 1328,1334 ---- */ code = Tcl_ParseBraces(interp, infoPtr->start, ! (int) (infoPtr->lastChar - infoPtr->start), parsePtr, 1, &termPtr); if (code != TCL_OK) { return code; *************** *** 1336,1342 **** infoPtr->next = termPtr; exprTokenPtr = &parsePtr->tokenPtr[exprIndex]; ! exprTokenPtr->size = (termPtr - infoPtr->start); exprTokenPtr->numComponents = parsePtr->numTokens - firstIndex; /* --- 1336,1342 ---- infoPtr->next = termPtr; exprTokenPtr = &parsePtr->tokenPtr[exprIndex]; ! exprTokenPtr->size = (int) (termPtr - infoPtr->start); exprTokenPtr->numComponents = parsePtr->numTokens - firstIndex; /* *************** *** 1444,1450 **** } exprTokenPtr = &parsePtr->tokenPtr[exprIndex]; ! exprTokenPtr->size = (infoPtr->next - exprTokenPtr->start); exprTokenPtr->numComponents = parsePtr->numTokens - firstIndex; break; --- 1444,1450 ---- } exprTokenPtr = &parsePtr->tokenPtr[exprIndex]; ! exprTokenPtr->size = (int) (infoPtr->next - exprTokenPtr->start); exprTokenPtr->numComponents = parsePtr->numTokens - firstIndex; break; *************** *** 1604,1610 **** if (interp != NULL) { while (isdigit(UCHAR(*(++termPtr)))) {} /* INTL: digit. */ Tcl_ResetResult(interp); ! offset = termPtr - src; c = src[offset]; src[offset] = 0; Tcl_AppendResult(interp, "\"", src, --- 1604,1610 ---- if (interp != NULL) { while (isdigit(UCHAR(*(++termPtr)))) {} /* INTL: digit. */ Tcl_ResetResult(interp); ! offset = (int) (termPtr - src); c = src[offset]; src[offset] = 0; Tcl_AppendResult(interp, "\"", src, *************** *** 1618,1624 **** infoPtr->lexeme = LITERAL; infoPtr->start = src; ! infoPtr->size = (termPtr - src); infoPtr->next = termPtr; parsePtr->term = termPtr; return TCL_OK; --- 1618,1624 ---- infoPtr->lexeme = LITERAL; infoPtr->start = src; ! infoPtr->size = (int) (termPtr - src); infoPtr->next = termPtr; parsePtr->term = termPtr; return TCL_OK; *************** *** 1642,1648 **** infoPtr->lexeme = LITERAL; infoPtr->start = src; ! infoPtr->size = (termPtr - src); infoPtr->next = termPtr; parsePtr->term = termPtr; return TCL_OK; --- 1642,1648 ---- infoPtr->lexeme = LITERAL; infoPtr->start = src; ! infoPtr->size = (int) (termPtr - src); infoPtr->next = termPtr; parsePtr->term = termPtr; return TCL_OK; *************** *** 1840,1846 **** offset = Tcl_UtfToUniChar(src, &ch); c = UCHAR(ch); } ! infoPtr->size = (src - infoPtr->start); infoPtr->next = src; parsePtr->term = infoPtr->next; /* --- 1840,1846 ---- offset = Tcl_UtfToUniChar(src, &ch); c = UCHAR(ch); } ! infoPtr->size = (int) (src - infoPtr->start); infoPtr->next = src; parsePtr->term = infoPtr->next; /* *************** *** 1982,1988 **** char *extraInfo; /* String to provide extra information * about the syntax error. */ { ! int numBytes = (infoPtr->lastChar - infoPtr->originalExpr); char buffer[100]; if (numBytes > 60) { --- 1982,1988 ---- char *extraInfo; /* String to provide extra information * about the syntax error. */ { ! int numBytes = (int) (infoPtr->lastChar - infoPtr->originalExpr); char buffer[100]; if (numBytes > 60) { *** generic/tclProc.c 2002/01/25 20:40:55 1.36 --- generic/tclProc.c 2002/01/29 06:45:49 *************** *** 361,369 **** goto procError; } ! nameLength = strlen(fieldValues[0]); if (fieldCount == 2) { ! valueLength = strlen(fieldValues[1]); } else { valueLength = 0; } --- 361,369 ---- goto procError; } ! nameLength = (int) strlen(fieldValues[0]); if (fieldCount == 2) { ! valueLength = (int) strlen(fieldValues[1]); } else { valueLength = 0; } *************** *** 1215,1221 **** if (result == TCL_ERROR) { char buf[100 + TCL_INTEGER_SPACE]; ! numChars = strlen(procName); ellipsis = ""; if (numChars > 50) { numChars = 50; --- 1215,1221 ---- if (result == TCL_ERROR) { char buf[100 + TCL_INTEGER_SPACE]; ! numChars = (int) strlen(procName); ellipsis = ""; if (numChars > 50) { numChars = 50; *** generic/tclRegexp.c 2002/01/17 03:03:12 1.14 --- generic/tclRegexp.c 2002/01/29 06:45:52 *************** *** 261,268 **** } else { string = regexpPtr->string; } ! *startPtr = Tcl_UtfAtIndex(string, regexpPtr->matches[index].rm_so); ! *endPtr = Tcl_UtfAtIndex(string, regexpPtr->matches[index].rm_eo); } } --- 261,268 ---- } else { string = regexpPtr->string; } ! *startPtr = Tcl_UtfAtIndex(string, (int) regexpPtr->matches[index].rm_so); ! *endPtr = Tcl_UtfAtIndex(string, (int) regexpPtr->matches[index].rm_eo); } } *************** *** 365,378 **** TclRegexp *regexpPtr = (TclRegexp *) re; if ((regexpPtr->flags®_EXPECT) && index == -1) { ! *startPtr = regexpPtr->details.rm_extend.rm_so; ! *endPtr = regexpPtr->details.rm_extend.rm_eo; } else if ((size_t) index > regexpPtr->re.re_nsub) { *startPtr = -1; *endPtr = -1; } else { ! *startPtr = regexpPtr->matches[index].rm_so; ! *endPtr = regexpPtr->matches[index].rm_eo; } } --- 365,378 ---- TclRegexp *regexpPtr = (TclRegexp *) re; if ((regexpPtr->flags®_EXPECT) && index == -1) { ! *startPtr = (int) regexpPtr->details.rm_extend.rm_so; ! *endPtr = (int) regexpPtr->details.rm_extend.rm_eo; } else if ((size_t) index > regexpPtr->re.re_nsub) { *startPtr = -1; *endPtr = -1; } else { ! *startPtr = (int) regexpPtr->matches[index].rm_so; ! *endPtr = (int) regexpPtr->matches[index].rm_eo; } } *************** *** 526,534 **** { TclRegexp *regexpPtr = (TclRegexp *) regexp; ! infoPtr->nsubs = regexpPtr->re.re_nsub; infoPtr->matches = (Tcl_RegExpIndices *) regexpPtr->matches; ! infoPtr->extendStart = regexpPtr->details.rm_extend.rm_so; } /* --- 526,534 ---- { TclRegexp *regexpPtr = (TclRegexp *) regexp; ! infoPtr->nsubs = (int) regexpPtr->re.re_nsub; infoPtr->matches = (Tcl_RegExpIndices *) regexpPtr->matches; ! infoPtr->extendStart = (int) regexpPtr->details.rm_extend.rm_so; } /* *** generic/tclResult.c 2002/01/25 20:40:55 1.5 --- generic/tclResult.c 2002/01/29 06:45:56 *************** *** 235,241 **** * of a Tcl_FreeProc such as free. */ { Interp *iPtr = (Interp *) interp; ! int length; register Tcl_FreeProc *oldFreeProc = iPtr->freeProc; char *oldResult = iPtr->result; --- 235,241 ---- * of a Tcl_FreeProc such as free. */ { Interp *iPtr = (Interp *) interp; ! size_t length; register Tcl_FreeProc *oldFreeProc = iPtr->freeProc; char *oldResult = iPtr->result; *************** *** 246,252 **** } else if (freeProc == TCL_VOLATILE) { length = strlen(string); if (length > TCL_RESULT_SIZE) { ! iPtr->result = (char *) ckalloc((unsigned) length+1); iPtr->freeProc = TCL_DYNAMIC; } else { iPtr->result = iPtr->resultSpace; --- 246,252 ---- } else if (freeProc == TCL_VOLATILE) { length = strlen(string); if (length > TCL_RESULT_SIZE) { ! iPtr->result = (char *) ckalloc(length+1); iPtr->freeProc = TCL_DYNAMIC; } else { iPtr->result = iPtr->resultSpace; *************** *** 398,404 **** { register Interp *iPtr = (Interp *) interp; Tcl_Obj *objResultPtr; ! int length; /* * If the string result is non-empty, move the string result to the --- 398,404 ---- { register Interp *iPtr = (Interp *) interp; Tcl_Obj *objResultPtr; ! size_t length; /* * If the string result is non-empty, move the string result to the *************** *** 501,507 **** nargs_space * sizeof(char *)); } } ! newSpace += strlen(string); args[nargs++] = string; } --- 501,507 ---- nargs_space * sizeof(char *)); } } ! newSpace += (int) strlen(string); args[nargs++] = string; } *************** *** 524,530 **** for (i = 0; i < nargs; ++i) { string = args[i]; strcpy(iPtr->appendResult + iPtr->appendUsed, string); ! iPtr->appendUsed += strlen(string); } /* --- 524,530 ---- for (i = 0; i < nargs; ++i) { string = args[i]; strcpy(iPtr->appendResult + iPtr->appendUsed, string); ! iPtr->appendUsed += (int) strlen(string); } /* *************** *** 687,693 **** iPtr->appendResult = NULL; iPtr->appendAvl = 0; } ! iPtr->appendUsed = strlen(iPtr->result); } else if (iPtr->result[iPtr->appendUsed] != 0) { /* * Most likely someone has modified a result created by --- 687,693 ---- iPtr->appendResult = NULL; iPtr->appendAvl = 0; } ! iPtr->appendUsed = (int) strlen(iPtr->result); } else if (iPtr->result[iPtr->appendUsed] != 0) { /* * Most likely someone has modified a result created by *************** *** 695,701 **** * Just recompute the size. */ ! iPtr->appendUsed = strlen(iPtr->result); } totalSpace = newSpace + iPtr->appendUsed; --- 695,701 ---- * Just recompute the size. */ ! iPtr->appendUsed = (int) strlen(iPtr->result); } totalSpace = newSpace + iPtr->appendUsed; *** generic/tclScan.c 2001/09/20 01:03:08 1.8 --- generic/tclScan.c 2002/01/29 06:45:59 *************** *** 675,681 **** switch (ch) { case 'n': if (!(flags & SCAN_SUPPRESS)) { ! objPtr = Tcl_NewIntObj(string - baseString); Tcl_IncrRefCount(objPtr); objs[objIndex++] = objPtr; } --- 675,681 ---- switch (ch) { case 'n': if (!(flags & SCAN_SUPPRESS)) { ! objPtr = Tcl_NewIntObj((int) (string - baseString)); Tcl_IncrRefCount(objPtr); objs[objIndex++] = objPtr; } *************** *** 783,789 **** } } if (!(flags & SCAN_SUPPRESS)) { ! objPtr = Tcl_NewStringObj(string, end-string); Tcl_IncrRefCount(objPtr); objs[objIndex++] = objPtr; } --- 783,789 ---- } } if (!(flags & SCAN_SUPPRESS)) { ! objPtr = Tcl_NewStringObj(string, (int) (end-string)); Tcl_IncrRefCount(objPtr); objs[objIndex++] = objPtr; } *************** *** 818,824 **** goto done; } if (!(flags & SCAN_SUPPRESS)) { ! objPtr = Tcl_NewStringObj(string, end-string); Tcl_IncrRefCount(objPtr); objs[objIndex++] = objPtr; } --- 818,824 ---- goto done; } if (!(flags & SCAN_SUPPRESS)) { ! objPtr = Tcl_NewStringObj(string, (int) (end-string)); Tcl_IncrRefCount(objPtr); objs[objIndex++] = objPtr; } *** generic/tclStringObj.c 2002/01/26 01:10:08 1.24 --- generic/tclStringObj.c 2002/01/29 06:46:05 *************** *** 202,211 **** register Tcl_Obj *objPtr; if (length < 0) { ! length = (bytes? strlen(bytes) : 0); } TclNewObj(objPtr); ! TclInitStringRep(objPtr, bytes, length); return objPtr; } #endif /* TCL_MEM_DEBUG */ --- 202,211 ---- register Tcl_Obj *objPtr; if (length < 0) { ! length = (bytes ? (int) strlen(bytes) : 0); } TclNewObj(objPtr); ! TclInitStringRep(objPtr, bytes, (size_t) length); return objPtr; } #endif /* TCL_MEM_DEBUG */ *************** *** 258,267 **** register Tcl_Obj *objPtr; if (length < 0) { ! length = (bytes? strlen(bytes) : 0); } TclDbNewObj(objPtr, file, line); ! TclInitStringRep(objPtr, bytes, length); return objPtr; } --- 258,267 ---- register Tcl_Obj *objPtr; if (length < 0) { ! length = (bytes ? strlen(bytes) : 0); } TclDbNewObj(objPtr, file, line); ! TclInitStringRep(objPtr, bytes, (size_t) length); return objPtr; } *************** *** 374,382 **** if (stringPtr->numChars == -1) { ! stringPtr->numChars = Tcl_NumUtfChars(objPtr->bytes, objPtr->length); ! if (stringPtr->numChars == objPtr->length) { /* * Since we've just calculated the number of chars, and all --- 374,382 ---- if (stringPtr->numChars == -1) { ! stringPtr->numChars = Tcl_NumUtfChars(objPtr->bytes, (int) objPtr->length); ! if (stringPtr->numChars == (int) objPtr->length) { /* * Since we've just calculated the number of chars, and all *************** *** 623,629 **** stringPtr = GET_STRING(objPtr); } ! if (stringPtr->numChars == objPtr->length) { char *str = Tcl_GetString(objPtr); /* --- 623,629 ---- stringPtr = GET_STRING(objPtr); } ! if (stringPtr->numChars == (int) objPtr->length) { char *str = Tcl_GetString(objPtr); /* *************** *** 702,708 **** Tcl_InvalidateStringRep(objPtr); if (length < 0) { ! length = (bytes? strlen(bytes) : 0); } TclInitStringRep(objPtr, bytes, length); } --- 702,708 ---- Tcl_InvalidateStringRep(objPtr); if (length < 0) { ! length = (bytes ? (int) strlen(bytes) : 0); } TclInitStringRep(objPtr, bytes, length); } *************** *** 960,966 **** SetStringFromAny(NULL, objPtr); if (length < 0) { ! length = (bytes ? strlen(bytes) : 0); } if (length == 0) { return; --- 960,966 ---- SetStringFromAny(NULL, objPtr); if (length < 0) { ! length = (bytes ? (int) strlen(bytes) : 0); } if (length == 0) { return; *************** *** 1192,1198 **** memcpy((VOID*) (stringPtr->unicode + stringPtr->numChars), unicode, appendNumChars * sizeof(Tcl_UniChar)); stringPtr->unicode[numChars] = 0; ! stringPtr->numChars = numChars; Tcl_InvalidateStringRep(objPtr); } --- 1192,1198 ---- memcpy((VOID*) (stringPtr->unicode + stringPtr->numChars), unicode, appendNumChars * sizeof(Tcl_UniChar)); stringPtr->unicode[numChars] = 0; ! stringPtr->numChars = (int) numChars; Tcl_InvalidateStringRep(objPtr); } *************** *** 1268,1274 **** Tcl_UniChar *unicode; if (numBytes < 0) { ! numBytes = (bytes ? strlen(bytes) : 0); } if (numBytes == 0) { return; --- 1268,1274 ---- Tcl_UniChar *unicode; if (numBytes < 0) { ! numBytes = (bytes ? (int) strlen(bytes) : 0); } if (numBytes == 0) { return; *************** *** 1305,1314 **** int numBytes; /* Number of bytes of "bytes" to append. */ { String *stringPtr; ! int newLength, oldLength; if (numBytes < 0) { ! numBytes = (bytes ? strlen(bytes) : 0); } if (numBytes == 0) { return; --- 1305,1314 ---- int numBytes; /* Number of bytes of "bytes" to append. */ { String *stringPtr; ! size_t newLength, oldLength; if (numBytes < 0) { ! numBytes = (bytes ? (int) strlen(bytes) : 0); } if (numBytes == 0) { return; *************** *** 1333,1341 **** * explanation of this growth algorithm. */ ! if (Tcl_AttemptSetObjLength(objPtr, 2 * newLength) == 0) { Tcl_SetObjLength(objPtr, ! newLength + numBytes + TCL_GROWTH_MIN_ALLOC); } } else { --- 1333,1341 ---- * explanation of this growth algorithm. */ ! if (Tcl_AttemptSetObjLength(objPtr, (int) (2 * newLength)) == 0) { Tcl_SetObjLength(objPtr, ! (int) (newLength + numBytes + TCL_GROWTH_MIN_ALLOC)); } } else { *************** *** 1378,1384 **** { #define STATIC_LIST_SIZE 16 String *stringPtr; ! int newLength, oldLength, attemptLength; register char *string, *dst; char *static_list[STATIC_LIST_SIZE]; char **args = static_list; --- 1378,1384 ---- { #define STATIC_LIST_SIZE 16 String *stringPtr; ! size_t newLength, oldLength, attemptLength; register char *string, *dst; char *static_list[STATIC_LIST_SIZE]; char **args = static_list; *************** *** 1429,1435 **** } stringPtr = GET_STRING(objPtr); ! if (oldLength + newLength > (int) stringPtr->allocated) { /* * There isn't currently enough space in the string --- 1429,1435 ---- } stringPtr = GET_STRING(objPtr); ! if (oldLength + newLength > stringPtr->allocated) { /* * There isn't currently enough space in the string *************** *** 1444,1456 **** */ if (oldLength == 0) { ! Tcl_SetObjLength(objPtr, newLength); } else { attemptLength = 2 * (oldLength + newLength); ! if (Tcl_AttemptSetObjLength(objPtr, attemptLength) == 0) { attemptLength = oldLength + (2 * newLength) + TCL_GROWTH_MIN_ALLOC; ! Tcl_SetObjLength(objPtr, attemptLength); } } } --- 1444,1456 ---- */ if (oldLength == 0) { ! Tcl_SetObjLength(objPtr, (int) newLength); } else { attemptLength = 2 * (oldLength + newLength); ! if (Tcl_AttemptSetObjLength(objPtr, (int) attemptLength) == 0) { attemptLength = oldLength + (2 * newLength) + TCL_GROWTH_MIN_ALLOC; ! Tcl_SetObjLength(objPtr, (int) attemptLength); } } } *************** *** 1555,1561 **** stringPtr = GET_STRING(objPtr); if (stringPtr->numChars == -1) { ! stringPtr->numChars = Tcl_NumUtfChars(src, objPtr->length); } uallocated = stringPtr->numChars * sizeof(Tcl_UniChar); --- 1555,1561 ---- stringPtr = GET_STRING(objPtr); if (stringPtr->numChars == -1) { ! stringPtr->numChars = Tcl_NumUtfChars(src, (int) objPtr->length); } uallocated = stringPtr->numChars * sizeof(Tcl_UniChar); *** generic/tclUtf.c 2002/01/26 01:10:08 1.22 --- generic/tclUtf.c 2002/01/29 06:46:10 *************** *** 259,265 **** p += Tcl_UniCharToUtf(*w, p); w++; } ! Tcl_DStringSetLength(dsPtr, oldLength + (p - string)); return string; } --- 259,265 ---- p += Tcl_UniCharToUtf(*w, p); w++; } ! Tcl_DStringSetLength(dsPtr, oldLength + (int) (p - string)); return string; } *************** *** 407,413 **** int oldLength; if (length < 0) { ! length = strlen(string); } /* --- 407,413 ---- int oldLength; if (length < 0) { ! length = (int) strlen(string); } /* *************** *** 428,434 **** } *w = '\0'; Tcl_DStringSetLength(dsPtr, ! (oldLength + ((char *) w - (char *) wString))); return wString; } --- 428,434 ---- } *w = '\0'; Tcl_DStringSetLength(dsPtr, ! (oldLength + (int)((char *) w - (char *) wString))); return wString; } *************** *** 823,829 **** char *end; result = (unsigned char) strtoul(p+1, &end, 16); ! count = end - src; } else { count = 2; result = 'x'; --- 823,829 ---- char *end; result = (unsigned char) strtoul(p+1, &end, 16); ! count = (int) (end - src); } else { count = 2; result = 'x'; *************** *** 856,862 **** p++; } while ((*p == ' ') || (*p == '\t')); result = ' '; ! count = p - src; break; case 0: result = '\\'; --- 856,862 ---- p++; } while ((*p == ' ') || (*p == '\t')); result = ' '; ! count = (int) (p - src); break; case 0: result = '\\'; *************** *** 953,959 **** src += bytes; } *dst = '\0'; ! return (dst - str); } /* --- 953,959 ---- src += bytes; } *dst = '\0'; ! return (int) (dst - str); } /* *************** *** 1006,1012 **** src += bytes; } *dst = '\0'; ! return (dst - str); } /* --- 1006,1012 ---- src += bytes; } *dst = '\0'; ! return (int) (dst - str); } /* *************** *** 1068,1074 **** src += bytes; } *dst = '\0'; ! return (dst - str); } /* --- 1068,1074 ---- src += bytes; } *dst = '\0'; ! return (int) (dst - str); } /* *** generic/tclUtil.c 2002/01/25 20:40:56 1.28 --- generic/tclUtil.c 2002/01/29 06:46:16 *************** *** 206,212 **** if (openBraces > 1) { openBraces--; } else if (openBraces == 1) { ! size = (p - elemStart); p++; if ((p >= limit) || isspace(UCHAR(*p))) { /* INTL: ISO space. */ --- 206,212 ---- if (openBraces > 1) { openBraces--; } else if (openBraces == 1) { ! size = (int) (p - elemStart); p++; if ((p >= limit) || isspace(UCHAR(*p))) { /* INTL: ISO space. */ *************** *** 258,264 **** case '\t': case '\v': if ((openBraces == 0) && !inQuotes) { ! size = (p - elemStart); goto done; } break; --- 258,264 ---- case '\t': case '\v': if ((openBraces == 0) && !inQuotes) { ! size = (int) (p - elemStart); goto done; } break; *************** *** 269,275 **** case '"': if (inQuotes) { ! size = (p - elemStart); p++; if ((p >= limit) || isspace(UCHAR(*p))) { /* INTL: ISO space */ --- 269,275 ---- case '"': if (inQuotes) { ! size = (int) (p - elemStart); p++; if ((p >= limit) || isspace(UCHAR(*p))) { /* INTL: ISO space */ *************** *** 320,326 **** } return TCL_ERROR; } ! size = (p - elemStart); } done: --- 320,326 ---- } return TCL_ERROR; } ! size = (int) (p - elemStart); } done: *************** *** 444,457 **** size++; /* Leave space for final NULL pointer. */ argv = (CONST char **) ckalloc((unsigned) ((size * sizeof(char *)) + (l - list) + 1)); ! length = strlen(list); for (i = 0, p = ((char *) argv) + size*sizeof(char *); *list != 0; i++) { CONST char *prevList = list; result = TclFindElement(interp, list, length, &element, &list, &elSize, &brace); ! length -= (list - prevList); if (result != TCL_OK) { ckfree((char *) argv); return result; --- 444,457 ---- size++; /* Leave space for final NULL pointer. */ argv = (CONST char **) ckalloc((unsigned) ((size * sizeof(char *)) + (l - list) + 1)); ! length = (int) strlen(list); for (i = 0, p = ((char *) argv) + size*sizeof(char *); *list != 0; i++) { CONST char *prevList = list; result = TclFindElement(interp, list, length, &element, &list, &elSize, &brace); ! length -= (int) (list - prevList); if (result != TCL_OK) { ckfree((char *) argv); return result; *************** *** 599,605 **** string = ""; } if (length == -1) { ! length = strlen(string); } lastChar = string + length; p = string; --- 599,605 ---- string = ""; } if (length == -1) { ! length = (int) strlen(string); } lastChar = string + length; p = string; *************** *** 651,657 **** * two spaces for braces. */ ! return 2*(p-string) + 2; } /* --- 651,657 ---- * two spaces for braces. */ ! return (2 * (int) (p-string) + 2); } /* *************** *** 724,730 **** */ if (src && length == -1) { ! length = strlen(src); } if ((src == NULL) || (length == 0)) { p[0] = '{'; --- 724,730 ---- */ if (src && length == -1) { ! length = (int) strlen(src); } if ((src == NULL) || (length == 0)) { p[0] = '{'; *************** *** 820,826 **** } } *p = '\0'; ! return p-dst; } /* --- 820,826 ---- } } *p = '\0'; ! return (int) (p-dst); } /* *************** *** 957,963 **** char *result; for (totalSize = 1, i = 0; i < argc; i++) { ! totalSize += strlen(argv[i]) + 1; } result = (char *) ckalloc((unsigned) totalSize); if (argc == 0) { --- 957,963 ---- char *result; for (totalSize = 1, i = 0; i < argc; i++) { ! totalSize += (int) strlen(argv[i]) + 1; } result = (char *) ckalloc((unsigned) totalSize); if (argc == 0) { *************** *** 978,984 **** while (isspace(UCHAR(*element))) { /* INTL: ISO space. */ element++; } ! for (length = strlen(element); (length > 0) && (isspace(UCHAR(element[length-1]))) /* INTL: ISO space. */ && ((length < 2) || (element[length-2] != '\\')); --- 978,984 ---- while (isspace(UCHAR(*element))) { /* INTL: ISO space. */ element++; } ! for (length = (int) strlen(element); (length > 0) && (isspace(UCHAR(element[length-1]))) /* INTL: ISO space. */ && ((length < 2) || (element[length-2] != '\\')); *************** *** 1425,1431 **** CONST char *end; if (length < 0) { ! length = strlen(string); } newSize = length + dsPtr->length; --- 1425,1431 ---- CONST char *end; if (length < 0) { ! length = (int) strlen(string); } newSize = length + dsPtr->length; *************** *** 1491,1497 **** int newSize, flags, strSize; char *dst; ! strSize = ((string == NULL) ? 0 : strlen(string)); newSize = Tcl_ScanCountedElement(string, strSize, &flags) + dsPtr->length + 1; --- 1491,1497 ---- int newSize, flags, strSize; char *dst; ! strSize = ((string == NULL) ? 0 : (int) strlen(string)); newSize = Tcl_ScanCountedElement(string, strSize, &flags) + dsPtr->length + 1; *************** *** 1715,1728 **** TCL_VOLATILE); } ! dsPtr->length = strlen(iPtr->result); if (iPtr->freeProc != NULL) { if ((iPtr->freeProc == TCL_DYNAMIC) || (iPtr->freeProc == (Tcl_FreeProc *) free)) { dsPtr->string = iPtr->result; dsPtr->spaceAvl = dsPtr->length+1; } else { ! dsPtr->string = (char *) ckalloc((unsigned) (dsPtr->length+1)); strcpy(dsPtr->string, iPtr->result); (*iPtr->freeProc)(iPtr->result); } --- 1715,1728 ---- TCL_VOLATILE); } ! dsPtr->length = (int) strlen(iPtr->result); if (iPtr->freeProc != NULL) { if ((iPtr->freeProc == TCL_DYNAMIC) || (iPtr->freeProc == (Tcl_FreeProc *) free)) { dsPtr->string = iPtr->result; dsPtr->spaceAvl = dsPtr->length+1; } else { ! dsPtr->string = (char *) ckalloc(dsPtr->length+1); strcpy(dsPtr->string, iPtr->result); (*iPtr->freeProc)(iPtr->result); } *************** *** 2062,2068 **** if (n == -n) { sprintf(buffer, "%ld", n); ! return strlen(buffer); } /* --- 2062,2068 ---- if (n == -n) { sprintf(buffer, "%ld", n); ! return (int) strlen(buffer); } /* *************** *** 2127,2135 **** register CONST char *p, *end; if (length < 0) { ! length = (bytes? strlen(bytes) : 0); } ! end = (bytes + length); p = bytes; while ((p < end) && isspace(UCHAR(*p))) { /* INTL: ISO space. */ --- 2127,2135 ---- register CONST char *p, *end; if (length < 0) { ! length = (bytes ? (int) strlen(bytes) : 0); } ! end = bytes + length; p = bytes; while ((p < end) && isspace(UCHAR(*p))) { /* INTL: ISO space. */ *** generic/tclVar.c 2002/01/25 21:36:09 1.47 --- generic/tclVar.c 2002/01/29 06:46:31 *************** *** 313,319 **** int localCt = procPtr->numCompiledLocals; CompiledLocal *localPtr = procPtr->firstLocalPtr; Var *localVarPtr = varFramePtr->compiledLocals; ! int part1Len = strlen(part1); for (i = 0; i < localCt; i++) { if (!TclIsVarTemporary(localPtr)) { --- 313,319 ---- int localCt = procPtr->numCompiledLocals; CompiledLocal *localPtr = procPtr->firstLocalPtr; Var *localVarPtr = varFramePtr->compiledLocals; ! int part1Len = (int) strlen(part1); for (i = 0; i < localCt; i++) { if (!TclIsVarTemporary(localPtr)) { *************** *** 3887,3893 **** int localCt = procPtr->numCompiledLocals; CompiledLocal *localPtr = procPtr->firstLocalPtr; Var *localVarPtr = varFramePtr->compiledLocals; ! int nameLen = strlen(myName); int i; varPtr = NULL; --- 3887,3893 ---- int localCt = procPtr->numCompiledLocals; CompiledLocal *localPtr = procPtr->firstLocalPtr; Var *localVarPtr = varFramePtr->compiledLocals; ! int nameLen = (int) strlen(myName); int i; varPtr = NULL; *************** *** 4538,4544 **** p--; if (*p == ')') { Tcl_DStringInit(&nameCopy); ! Tcl_DStringAppend(&nameCopy, part1, (p-part1)); part2 = Tcl_DStringValue(&nameCopy) + (openParen + 1 - part1); part2[-1] = 0; --- 4538,4544 ---- p--; if (*p == ')') { Tcl_DStringInit(&nameCopy); ! Tcl_DStringAppend(&nameCopy, part1, (int) (p-part1)); part2 = Tcl_DStringValue(&nameCopy) + (openParen + 1 - part1); part2[-1] = 0; *** win/tclWinDde.c 2002/01/18 14:07:40 1.8 --- win/tclWinDde.c 2002/01/29 06:46:35 *************** *** 86,95 **** --- 86,102 ---- Tcl_Obj *ddeObjectPtr)); static int MakeDdeConnection _ANSI_ARGS_((Tcl_Interp *interp, char *name, HCONV *ddeConvPtr)); + #ifdef _WIN64 static HDDEDATA CALLBACK DdeServerProc _ANSI_ARGS_((UINT uType, UINT uFmt, HCONV hConv, HSZ ddeTopic, + HSZ ddeItem, HDDEDATA hData, ULONG_PTR dwData1, + ULONG_PTR dwData2)); + #else + static HDDEDATA CALLBACK DdeServerProc _ANSI_ARGS_((UINT uType, + UINT uFmt, HCONV hConv, HSZ ddeTopic, HSZ ddeItem, HDDEDATA hData, DWORD dwData1, DWORD dwData2)); + #endif static void SetDdeError _ANSI_ARGS_((Tcl_Interp *interp)); int Tcl_DdeObjCmd(ClientData clientData, /* Used only for deletion */ Tcl_Interp *interp, /* The interp we are sending from */ *************** *** 181,190 **** Tcl_MutexLock(&ddeMutex); if (ddeInstance == 0) { if (DdeInitialize(&ddeInstance, DdeServerProc, ! CBF_SKIP_REGISTRATIONS ! | CBF_SKIP_UNREGISTRATIONS ! | CBF_FAIL_POKES, 0) ! != DMLERR_NO_ERROR) { ddeInstance = 0; } } --- 188,195 ---- Tcl_MutexLock(&ddeMutex); if (ddeInstance == 0) { if (DdeInitialize(&ddeInstance, DdeServerProc, ! CBF_SKIP_REGISTRATIONS | CBF_SKIP_UNREGISTRATIONS | ! CBF_FAIL_POKES, 0) != DMLERR_NO_ERROR) { ddeInstance = 0; } } *************** *** 446,453 **** --- 451,463 ---- HSZ ddeItem, /* A string handle. Transaction-type * dependent. */ HDDEDATA hData, /* DDE data. Transaction-type dependent. */ + #ifdef _WIN64 + ULONG_PTR dwData1, /* Transaction-dependent data. */ + ULONG_PTR dwData2) /* Transaction-dependent data. */ + #else DWORD dwData1, /* Transaction-dependent data. */ DWORD dwData2) /* Transaction-dependent data. */ + #endif { Tcl_DString dString; int len; *************** *** 1301,1307 **** Tcl_SetObjLength(resultPtr, length); string = Tcl_GetString(resultPtr); DdeGetData(ddeData, string, length, 0); ! Tcl_SetObjLength(resultPtr, strlen(string)); if (Tcl_ListObjIndex(NULL, resultPtr, 0, &objPtr) != TCL_OK) { --- 1311,1317 ---- Tcl_SetObjLength(resultPtr, length); string = Tcl_GetString(resultPtr); DdeGetData(ddeData, string, length, 0); ! Tcl_SetObjLength(resultPtr, (int) strlen(string)); if (Tcl_ListObjIndex(NULL, resultPtr, 0, &objPtr) != TCL_OK) { *** win/tclWinFCmd.c 2002/01/25 21:36:10 1.20 --- win/tclWinFCmd.c 2002/01/29 06:46:41 *************** *** 850,862 **** HANDLE handle; WIN32_FIND_DATAA data; Tcl_DString buffer; ! int len; path = (CONST char *) nativePath; Tcl_DStringInit(&buffer); len = strlen(path); ! find = Tcl_DStringAppend(&buffer, path, len); if ((len > 0) && (find[len - 1] != '\\')) { Tcl_DStringAppend(&buffer, "\\", 1); } --- 850,862 ---- HANDLE handle; WIN32_FIND_DATAA data; Tcl_DString buffer; ! size_t len; path = (CONST char *) nativePath; Tcl_DStringInit(&buffer); len = strlen(path); ! find = Tcl_DStringAppend(&buffer, path, (int) len); if ((len > 0) && (find[len - 1] != '\\')) { Tcl_DStringAppend(&buffer, "\\", 1); } *************** *** 1071,1077 **** continue; } nativeName = (TCHAR *) data.a.cFileName; ! len = strlen(data.a.cFileName); } /* --- 1071,1077 ---- continue; } nativeName = (TCHAR *) data.a.cFileName; ! len = (int) strlen(data.a.cFileName); } /* *************** *** 1813,1837 **** Tcl_Obj *pathPtr; int nextCheckpoint; { ! char *lastValidPathEnd = NULL; Tcl_DString ds; int pathLen; ! char *path = Tcl_GetStringFromObj(pathPtr, &pathLen); if (TclWinGetPlatformId() == VER_PLATFORM_WIN32_WINDOWS) { Tcl_DString eDs; ! char *nativePath; int nativeLen; nativePath = Tcl_UtfToExternalDString(NULL, path, -1, &ds); nativeLen = Tcl_DStringLength(&ds); /* We're on Windows 95/98 */ ! lastValidPathEnd = nativePath + Tcl_DStringLength(&ds); while (1) { ! DWORD res = GetShortPathNameA(nativePath, nativePath, 1+nativeLen); if (res != 0) { /* We found an ok path */ break; --- 1813,1837 ---- Tcl_Obj *pathPtr; int nextCheckpoint; { ! LPTSTR lastValidPathEnd = NULL; Tcl_DString ds; int pathLen; ! LPTSTR path = Tcl_GetStringFromObj(pathPtr, &pathLen); if (TclWinGetPlatformId() == VER_PLATFORM_WIN32_WINDOWS) { Tcl_DString eDs; ! LPCTSTR nativePath; int nativeLen; nativePath = Tcl_UtfToExternalDString(NULL, path, -1, &ds); nativeLen = Tcl_DStringLength(&ds); /* We're on Windows 95/98 */ ! lastValidPathEnd = (LPTSTR) (nativePath + Tcl_DStringLength(&ds)); while (1) { ! DWORD res = GetShortPathNameA(nativePath, (LPTSTR) nativePath, 1+nativeLen); if (res != 0) { /* We found an ok path */ break; *************** *** 1868,1874 **** */ /* Copy over the valid part of the path and find its length */ ! path = Tcl_ExternalToUtfDString(NULL, nativePath, -1, &eDs); if (path[1] == ':') { if (path[0] >= 'a' && path[0] <= 'z') { /* Make uppercase */ --- 1868,1874 ---- */ /* Copy over the valid part of the path and find its length */ ! path = (LPTSTR) Tcl_ExternalToUtfDString(NULL, nativePath, -1, &eDs); if (path[1] == ':') { if (path[0] >= 'a' && path[0] <= 'z') { /* Make uppercase */ *************** *** 1881,1894 **** if (lastValidPathEnd != (nativePath + nativeLen)) { *lastValidPathEnd = '/'; /* Now copy over the invalid (i.e. non-existent) part of the path */ ! path = Tcl_ExternalToUtfDString(NULL, lastValidPathEnd, -1, &eDs); Tcl_AppendToObj(pathPtr, path, Tcl_DStringLength(&eDs)); Tcl_DStringFree(&eDs); } Tcl_DStringFree(&ds); } else { /* We're on WinNT or 2000 or XP */ ! CONST char *nativePath; #if 0 /* * We don't use this simpler version, because the speed --- 1881,1894 ---- if (lastValidPathEnd != (nativePath + nativeLen)) { *lastValidPathEnd = '/'; /* Now copy over the invalid (i.e. non-existent) part of the path */ ! path = (LPTSTR) Tcl_ExternalToUtfDString(NULL, lastValidPathEnd, -1, &eDs); Tcl_AppendToObj(pathPtr, path, Tcl_DStringLength(&eDs)); Tcl_DStringFree(&eDs); } Tcl_DStringFree(&ds); } else { /* We're on WinNT or 2000 or XP */ ! LPCTSTR nativePath; #if 0 /* * We don't use this simpler version, because the speed *************** *** 1909,1921 **** Tcl_DStringFree(&eDs); Tcl_DStringFree(&ds); #else ! char *currentPathEndPosition; WIN32_FILE_ATTRIBUTE_DATA data; nativePath = Tcl_WinUtfToTChar(path, -1, &ds); ! if ((*tclWinProcs->getFileAttributesExProc)(nativePath, ! GetFileExInfoStandard, ! &data) == TRUE) { currentPathEndPosition = path + pathLen; nextCheckpoint = pathLen; lastValidPathEnd = currentPathEndPosition; --- 1909,1920 ---- Tcl_DStringFree(&eDs); Tcl_DStringFree(&ds); #else ! LPTSTR currentPathEndPosition; WIN32_FILE_ATTRIBUTE_DATA data; nativePath = Tcl_WinUtfToTChar(path, -1, &ds); ! if ((*tclWinProcs->getFileAttributesExProc)( ! nativePath, GetFileExInfoStandard, &data) == TRUE) { currentPathEndPosition = path + pathLen; nextCheckpoint = pathLen; lastValidPathEnd = currentPathEndPosition; *************** *** 1927,1936 **** char cur = *currentPathEndPosition; if ((cur == '/' || cur == 0) && (path != currentPathEndPosition)) { /* Reached directory separator, or end of string */ ! nativePath = Tcl_WinUtfToTChar(path, currentPathEndPosition - path, ! &ds); if ((*tclWinProcs->getFileAttributesExProc)(nativePath, ! GetFileExInfoStandard, &data) != TRUE) { /* File doesn't exist */ Tcl_DStringFree(&ds); break; --- 1926,1935 ---- char cur = *currentPathEndPosition; if ((cur == '/' || cur == 0) && (path != currentPathEndPosition)) { /* Reached directory separator, or end of string */ ! nativePath = Tcl_WinUtfToTChar(path, ! (int) (currentPathEndPosition - path), &ds); if ((*tclWinProcs->getFileAttributesExProc)(nativePath, ! GetFileExInfoStandard, &data) != TRUE) { /* File doesn't exist */ Tcl_DStringFree(&ds); break; *************** *** 1945,1951 **** } currentPathEndPosition++; } ! nextCheckpoint = currentPathEndPosition - path; } if (lastValidPathEnd != NULL) { Tcl_Obj *tmpPathPtr; --- 1944,1950 ---- } currentPathEndPosition++; } ! nextCheckpoint = (int) (currentPathEndPosition - path); } if (lastValidPathEnd != NULL) { Tcl_Obj *tmpPathPtr; *************** *** 1956,1962 **** */ Tcl_Obj* objPtr = NULL; int endOfString; ! int useLength = lastValidPathEnd - path; if (*lastValidPathEnd == 0) { tmpPathPtr = Tcl_NewStringObj(path, useLength); endOfString = 1; --- 1955,1961 ---- */ Tcl_Obj* objPtr = NULL; int endOfString; ! int useLength = (int) (lastValidPathEnd - path); if (*lastValidPathEnd == 0) { tmpPathPtr = Tcl_NewStringObj(path, useLength); endOfString = 1; *** win/tclWinFile.c 2002/01/25 21:36:10 1.24 --- win/tclWinFile.c 2002/01/29 06:46:46 *************** *** 219,225 **** p = strchr(dir + 2, '\\'); p = strchr(p + 1, '\\'); p++; ! nativeName = Tcl_WinUtfToTChar(dir, p - dir, &ds); found = (*tclWinProcs->getVolumeInformationProc)(nativeName, NULL, 0, NULL, NULL, &volFlags, NULL, 0); Tcl_DStringFree(&ds); --- 219,225 ---- p = strchr(dir + 2, '\\'); p = strchr(p + 1, '\\'); p++; ! nativeName = Tcl_WinUtfToTChar(dir, (int) (p - dir), &ds); found = (*tclWinProcs->getVolumeInformationProc)(nativeName, NULL, 0, NULL, NULL, &volFlags, NULL, 0); Tcl_DStringFree(&ds); *************** *** 513,519 **** (LPWSTR) Tcl_DStringValue(&ds), (LPBYTE *) &wDomain); Tcl_DStringFree(&ds); ! nameLen = domain - name; } if (badDomain == 0) { Tcl_DStringInit(&ds); --- 513,519 ---- (LPWSTR) Tcl_DStringValue(&ds), (LPBYTE *) &wDomain); Tcl_DStringFree(&ds); ! nameLen = (int) (domain - name); } if (badDomain == 0) { Tcl_DStringInit(&ds); *************** *** 952,958 **** } else { p++; } ! nativeVol = Tcl_WinUtfToTChar(fullPath, p - fullPath, &volString); dw = (DWORD) -1; (*tclWinProcs->getVolumeInformationProc)(nativeVol, NULL, 0, &dw, NULL, NULL, NULL, 0); --- 952,959 ---- } else { p++; } ! nativeVol = Tcl_WinUtfToTChar(fullPath, ! (int) (p-fullPath), &volString); dw = (DWORD) -1; (*tclWinProcs->getVolumeInformationProc)(nativeVol, NULL, 0, &dw, NULL, NULL, NULL, 0); *************** *** 1012,1018 **** } else { p++; } ! nativeVol = Tcl_WinUtfToTChar(fullPath, p - fullPath, &volString); dw = (DWORD) -1; (*tclWinProcs->getVolumeInformationProc)(nativeVol, NULL, 0, &dw, NULL, NULL, NULL, 0); --- 1013,1020 ---- } else { p++; } ! nativeVol = Tcl_WinUtfToTChar(fullPath, ! (int) (p-fullPath), &volString); dw = (DWORD) -1; (*tclWinProcs->getVolumeInformationProc)(nativeVol, NULL, 0, &dw, NULL, NULL, NULL, 0); *** win/tclWinInit.c 2002/01/29 02:19:24 1.34 --- win/tclWinInit.c 2002/01/29 06:46:49 *************** *** 677,683 **** { int i, length, result = -1; register CONST char *env, *p1, *p2; ! char *envUpper, *nameUpper; Tcl_DString envString; /* --- 677,684 ---- { int i, length, result = -1; register CONST char *env, *p1, *p2; ! char *nameUpper; ! CONST char *envUpper; Tcl_DString envString; /* *************** *** 685,695 **** * comparison. */ ! length = strlen(name); ! nameUpper = (char *) ckalloc((unsigned) length+1); ! memcpy((VOID *) nameUpper, (VOID *) name, (size_t) length+1); Tcl_UtfToUpper(nameUpper); ! Tcl_DStringInit(&envString); for (i = 0, env = environ[i]; env != NULL; i++, env = environ[i]) { /* --- 686,696 ---- * comparison. */ ! length = (int) strlen(name); ! nameUpper = (char *) ckalloc(length+1); ! memcpy((VOID *) nameUpper, (VOID *) name, length+1); Tcl_UtfToUpper(nameUpper); ! Tcl_DStringInit(&envString); for (i = 0, env = environ[i]; env != NULL; i++, env = environ[i]) { /* *************** *** 706,712 **** } length = (int) (p1 - envUpper); Tcl_DStringSetLength(&envString, length+1); ! Tcl_UtfToUpper(envUpper); p1 = envUpper; p2 = nameUpper; --- 707,713 ---- } length = (int) (p1 - envUpper); Tcl_DStringSetLength(&envString, length+1); ! Tcl_UtfToUpper((char *)envUpper); p1 = envUpper; p2 = nameUpper; *************** *** 718,727 **** result = i; goto done; } ! Tcl_DStringFree(&envString); } ! *lengthPtr = i; done: --- 719,728 ---- result = i; goto done; } ! Tcl_DStringFree(&envString); } ! *lengthPtr = i; done: *** win/tclWinPipe.c 2002/01/25 21:36:10 1.23 --- win/tclWinPipe.c 2002/01/29 06:46:56 *************** *** 726,732 **** for (p = native; *p != '\0'; p++) { if (*p == '\n') { ! length = p - native; if (length > 0) { if (!WriteFile(handle, native, length, &result, NULL)) { goto error; --- 726,732 ---- for (p = native; *p != '\0'; p++) { if (*p == '\n') { ! length = (int) (p - native); if (length > 0) { if (!WriteFile(handle, native, length, &result, NULL)) { goto error; *************** *** 738,744 **** native = p+1; } } ! length = p - native; if (length > 0) { if (!WriteFile(handle, native, length, &result, NULL)) { goto error; --- 738,744 ---- native = p+1; } } ! length = (int) (p - native); if (length > 0) { if (!WriteFile(handle, native, length, &result, NULL)) { goto error; *************** *** 1567,1573 **** for (special = arg; ; ) { if ((*special == '\\') && (special[1] == '\\' || special[1] == '"')) { ! Tcl_DStringAppend(&ds, start, special - start); start = special; while (1) { special++; --- 1567,1574 ---- for (special = arg; ; ) { if ((*special == '\\') && (special[1] == '\\' || special[1] == '"')) { ! Tcl_DStringAppend(&ds, start, ! (int) (special - start)); start = special; while (1) { special++; *************** *** 1577,1594 **** * N * 2 + 1 backslashes then a quote. */ ! Tcl_DStringAppend(&ds, start, special - start); break; } if (*special != '\\') { break; } } ! Tcl_DStringAppend(&ds, start, special - start); start = special; } if (*special == '"') { ! Tcl_DStringAppend(&ds, start, special - start); Tcl_DStringAppend(&ds, "\\\"", 2); start = special + 1; } --- 1578,1596 ---- * N * 2 + 1 backslashes then a quote. */ ! Tcl_DStringAppend(&ds, start, ! (int) (special - start)); break; } if (*special != '\\') { break; } } ! Tcl_DStringAppend(&ds, start, (int) (special - start)); start = special; } if (*special == '"') { ! Tcl_DStringAppend(&ds, start, (int) (special - start)); Tcl_DStringAppend(&ds, "\\\"", 2); start = special + 1; } *************** *** 1597,1603 **** } special++; } ! Tcl_DStringAppend(&ds, start, special - start); if (quote) { Tcl_DStringAppend(&ds, "\"", 1); } --- 1599,1605 ---- } special++; } ! Tcl_DStringAppend(&ds, start, (int) (special - start)); if (quote) { Tcl_DStringAppend(&ds, "\"", 1); } *** win/tclWinPort.h --- win/tclWinPort.h *** win/tclWinSerial.c 2002/01/25 21:36:10 1.20 --- win/tclWinSerial.c 2002/01/29 06:47:04 *************** *** 1747,1753 **** /* * -sysbuffer 4096 or -sysbuffer {64536 4096} */ ! size_t inSize = -1, outSize = -1; if (Tcl_SplitList(interp, value, &argc, &argv) == TCL_ERROR) { return TCL_ERROR; --- 1747,1753 ---- /* * -sysbuffer 4096 or -sysbuffer {64536 4096} */ ! DWORD inSize = -1, outSize = -1; if (Tcl_SplitList(interp, value, &argc, &argv) == TCL_ERROR) { return TCL_ERROR; *** win/tclWinSock.c 2002/01/24 01:34:16 1.25 --- win/tclWinSock.c 2002/01/29 06:47:11 *************** *** 1067,1073 **** * Set kernel space buffering */ ! TclSockMinimumBuffers(sock, TCP_BUFFER_SIZE); if (server) { /* --- 1067,1073 ---- * Set kernel space buffering */ ! TclSockMinimumBuffers((int) sock, TCP_BUFFER_SIZE); if (server) { /* *************** *** 1430,1436 **** * Set kernel space buffering and non-blocking. */ ! TclSockMinimumBuffers((SOCKET) sock, TCP_BUFFER_SIZE); infoPtr = NewSocketInfo((SOCKET) sock); --- 1430,1436 ---- * Set kernel space buffering and non-blocking. */ ! TclSockMinimumBuffers((int) sock, TCP_BUFFER_SIZE); infoPtr = NewSocketInfo((SOCKET) sock); *** win/tclWinTime.c 2001/11/21 02:36:21 1.9 --- win/tclWinTime.c 2002/01/29 06:47:14 *************** *** 326,333 **** timeInfo.lastFileTime.QuadPart = curFileTime; timeInfo.lastCounter.QuadPart = curCounter.QuadPart; usecSincePosixEpoch = ( curFileTime - posixEpoch.QuadPart ) / 10; ! timePtr->sec = (time_t) ( usecSincePosixEpoch / 1000000 ); ! timePtr->usec = (unsigned long ) ( usecSincePosixEpoch % 1000000 ); LeaveCriticalSection( &timeInfo.cs ); --- 326,333 ---- timeInfo.lastFileTime.QuadPart = curFileTime; timeInfo.lastCounter.QuadPart = curCounter.QuadPart; usecSincePosixEpoch = ( curFileTime - posixEpoch.QuadPart ) / 10; ! timePtr->sec = (long) ( usecSincePosixEpoch / 1000000 ); ! timePtr->usec = (long) ( usecSincePosixEpoch % 1000000 ); LeaveCriticalSection( &timeInfo.cs ); *************** *** 337,343 **** /* High resolution timer is not available. Just use ftime */ ftime(&t); ! timePtr->sec = t.time; timePtr->usec = t.millitm * 1000; } } --- 337,343 ---- /* High resolution timer is not available. Just use ftime */ ftime(&t); ! timePtr->sec = (long) t.time; timePtr->usec = t.millitm * 1000; } } *************** *** 389,395 **** * and DST strings are optional. */ ! len = strlen(zone); if (len > 3) { len = 3; } --- 389,395 ---- * and DST strings are optional. */ ! len = (int) strlen(zone); if (len > 3) { len = 3; } *************** *** 402,408 **** p += strspn(p, "+-:0123456789"); if (*p != '\0') { zone = p; ! len = strlen(zone); if (len > 3) { len = 3; } --- 402,408 ---- p += strspn(p, "+-:0123456789"); if (*p != '\0') { zone = p; ! len = (int) strlen(zone); if (len > 3) { len = 3; } *************** *** 453,459 **** { const time_t *tp = (const time_t *) t; struct tm *tmPtr; ! long time; if (!useGMT) { tzset(); --- 453,459 ---- { const time_t *tp = (const time_t *) t; struct tm *tmPtr; ! time_t time; if (!useGMT) { tzset(); *************** *** 468,474 **** return localtime(tp); } ! time = *tp - _timezone; /* * If we aren't near to overflowing the long, just add the bias and --- 468,474 ---- return localtime(tp); } ! time = (*tp - _timezone); /* * If we aren't near to overflowing the long, just add the bias and *************** *** 511,519 **** } time /= 24; ! tmPtr->tm_mday += time; ! tmPtr->tm_yday += time; ! tmPtr->tm_wday = (tmPtr->tm_wday + time) % 7; } } else { tmPtr = ComputeGMT(tp); --- 511,519 ---- } time /= 24; ! tmPtr->tm_mday += (int) time; ! tmPtr->tm_yday += (int) time; ! tmPtr->tm_wday = (int) ((tmPtr->tm_wday + time) % 7); } } else { tmPtr = ComputeGMT(tp); *************** *** 554,561 **** * Compute the 4 year span containing the specified time. */ ! tmp = *tp / SECSPER4YEAR; ! rem = *tp % SECSPER4YEAR; /* * Correct for weird mod semantics so the remainder is always positive. --- 554,561 ---- * Compute the 4 year span containing the specified time. */ ! tmp = (long) (*tp / SECSPER4YEAR); ! rem = (long) (*tp % SECSPER4YEAR); /* * Correct for weird mod semantics so the remainder is always positive. *************** *** 621,627 **** * Compute day of week. Epoch started on a Thursday. */ ! tmPtr->tm_wday = (*tp / SECSPERDAY) + 4; if ((*tp % SECSPERDAY) < 0) { tmPtr->tm_wday--; } --- 621,627 ---- * Compute day of week. Epoch started on a Thursday. */ ! tmPtr->tm_wday = (int) ((*tp / SECSPERDAY) + 4); if ((*tp % SECSPERDAY) < 0) { tmPtr->tm_wday--; }