diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2019-02-05 21:35:10 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2019-02-05 21:35:10 (GMT) |
| commit | 2dad23ad65d5cf76fa7e2516a6702a8a6ff34723 (patch) | |
| tree | 0b80be8eba412258b3fa4c109b6b554863d27378 /unix | |
| parent | eee14742522aed25744851879c80a96134de7369 (diff) | |
| download | tcl-2dad23ad65d5cf76fa7e2516a6702a8a6ff34723.zip tcl-2dad23ad65d5cf76fa7e2516a6702a8a6ff34723.tar.gz tcl-2dad23ad65d5cf76fa7e2516a6702a8a6ff34723.tar.bz2 | |
More size_t-related consolidations. Now regexp can handle strings >2GB and more. Remove many type-casts which are not necessary any more.
Diffstat (limited to 'unix')
| -rw-r--r-- | unix/tclUnixChan.c | 4 | ||||
| -rw-r--r-- | unix/tclUnixFCmd.c | 29 | ||||
| -rw-r--r-- | unix/tclUnixFile.c | 11 | ||||
| -rw-r--r-- | unix/tclUnixInit.c | 3 | ||||
| -rw-r--r-- | unix/tclUnixPipe.c | 4 | ||||
| -rw-r--r-- | unix/tclUnixSock.c | 6 | ||||
| -rw-r--r-- | unix/tclXtNotify.c | 4 |
7 files changed, 31 insertions, 30 deletions
diff --git a/unix/tclUnixChan.c b/unix/tclUnixChan.c index 1dd2340..29fc03e 100644 --- a/unix/tclUnixChan.c +++ b/unix/tclUnixChan.c @@ -252,7 +252,7 @@ FileInputProc( * nonblocking, the read will never block. */ - bytesRead = read(fsPtr->fd, buf, (size_t) toRead); + bytesRead = read(fsPtr->fd, buf, toRead); if (bytesRead > -1) { return bytesRead; } @@ -299,7 +299,7 @@ FileOutputProc( return 0; } - written = write(fsPtr->fd, buf, (size_t) toWrite); + written = write(fsPtr->fd, buf, toWrite); if (written > -1) { return written; } diff --git a/unix/tclUnixFCmd.c b/unix/tclUnixFCmd.c index cb2ecdb..ff398be 100644 --- a/unix/tclUnixFCmd.c +++ b/unix/tclUnixFCmd.c @@ -612,7 +612,7 @@ TclUnixCopyFile( } buffer = Tcl_Alloc(blockSize); while (1) { - nread = (size_t) read(srcFd, buffer, blockSize); + nread = read(srcFd, buffer, blockSize); if ((nread == TCL_IO_FAILURE) || (nread == 0)) { break; } @@ -1507,10 +1507,11 @@ SetGroupAttribute( Tcl_DString ds; struct group *groupPtr = NULL; const char *string; + size_t length; - string = TclGetString(attributePtr); + string = TclGetStringFromObj(attributePtr, &length); - native = Tcl_UtfToExternalDString(NULL, string, attributePtr->length, &ds); + native = Tcl_UtfToExternalDString(NULL, string, length, &ds); groupPtr = TclpGetGrNam(native); /* INTL: Native. */ Tcl_DStringFree(&ds); @@ -1573,10 +1574,11 @@ SetOwnerAttribute( Tcl_DString ds; struct passwd *pwPtr = NULL; const char *string; + size_t length; - string = TclGetString(attributePtr); + string = TclGetStringFromObj(attributePtr, &length); - native = Tcl_UtfToExternalDString(NULL, string, attributePtr->length, &ds); + native = Tcl_UtfToExternalDString(NULL, string, length, &ds); pwPtr = TclpGetPwNam(native); /* INTL: Native. */ Tcl_DStringFree(&ds); @@ -1945,8 +1947,8 @@ TclpObjNormalizePath( { const char *currentPathEndPosition; char cur; - const char *path = TclGetString(pathPtr); - size_t pathLen = pathPtr->length; + size_t pathLen; + const char *path = TclGetStringFromObj(pathPtr, &pathLen); Tcl_DString ds; const char *nativePath; #ifndef NO_REALPATH @@ -2176,14 +2178,15 @@ TclUnixOpenTemporaryFile( Tcl_DString template, tmp; const char *string; int fd; + size_t length; /* * We should also check against making more then TMP_MAX of these. */ if (dirObj) { - string = TclGetString(dirObj); - Tcl_UtfToExternalDString(NULL, string, dirObj->length, &template); + string = TclGetStringFromObj(dirObj, &length); + Tcl_UtfToExternalDString(NULL, string, length, &template); } else { Tcl_DStringInit(&template); Tcl_DStringAppend(&template, DefaultTempDir(), -1); /* INTL: native */ @@ -2192,8 +2195,8 @@ TclUnixOpenTemporaryFile( TclDStringAppendLiteral(&template, "/"); if (basenameObj) { - string = TclGetString(basenameObj); - Tcl_UtfToExternalDString(NULL, string, basenameObj->length, &tmp); + string = TclGetStringFromObj(basenameObj, &length); + Tcl_UtfToExternalDString(NULL, string, length, &tmp); TclDStringAppendDString(&template, &tmp); Tcl_DStringFree(&tmp); } else { @@ -2204,8 +2207,8 @@ TclUnixOpenTemporaryFile( #ifdef HAVE_MKSTEMPS if (extensionObj) { - string = TclGetString(extensionObj); - Tcl_UtfToExternalDString(NULL, string, extensionObj->length, &tmp); + string = TclGetStringFromObj(extensionObj, &length); + Tcl_UtfToExternalDString(NULL, string, length, &tmp); TclDStringAppendDString(&template, &tmp); fd = mkstemps(Tcl_DStringValue(&template), Tcl_DStringLength(&tmp)); Tcl_DStringFree(&tmp); diff --git a/unix/tclUnixFile.c b/unix/tclUnixFile.c index 3da84e0..352c04e 100644 --- a/unix/tclUnixFile.c +++ b/unix/tclUnixFile.c @@ -269,8 +269,7 @@ TclpMatchInDirectory( Tcl_DString dsOrig; /* utf-8 encoding of dir */ Tcl_DStringInit(&dsOrig); - dirName = TclGetString(fileNamePtr); - dirLength = fileNamePtr->length; + dirName = TclGetStringFromObj(fileNamePtr, &dirLength); Tcl_DStringAppend(&dsOrig, dirName, dirLength); /* @@ -940,6 +939,7 @@ TclpObjLink( if (linkAction & TCL_CREATE_SYMBOLIC_LINK) { Tcl_DString ds; Tcl_Obj *transPtr; + size_t length; /* * Now we don't want to link to the absolute, normalized path. @@ -951,8 +951,8 @@ TclpObjLink( if (transPtr == NULL) { return NULL; } - target = TclGetString(transPtr); - target = Tcl_UtfToExternalDString(NULL, target, transPtr->length, &ds); + target = TclGetStringFromObj(transPtr, &length); + target = Tcl_UtfToExternalDString(NULL, target, length, &ds); Tcl_DecrRefCount(transPtr); if (symlink(target, src) != 0) { @@ -1105,8 +1105,7 @@ TclNativeCreateNativeRep( Tcl_IncrRefCount(validPathPtr); } - str = TclGetString(validPathPtr); - len = validPathPtr->length; + str = TclGetStringFromObj(validPathPtr, &len); Tcl_UtfToExternalDString(NULL, str, len, &ds); len = Tcl_DStringLength(&ds) + sizeof(char); if (strlen(Tcl_DStringValue(&ds)) < len - sizeof(char)) { diff --git a/unix/tclUnixInit.c b/unix/tclUnixInit.c index eacf157..2e54e72 100644 --- a/unix/tclUnixInit.c +++ b/unix/tclUnixInit.c @@ -537,8 +537,7 @@ TclpInitLibraryPath( Tcl_DStringFree(&buffer); *encodingPtr = Tcl_GetEncoding(NULL, NULL); - str = TclGetString(pathPtr); - *lengthPtr = pathPtr->length; + str = TclGetStringFromObj(pathPtr, lengthPtr); *valuePtr = Tcl_Alloc(*lengthPtr + 1); memcpy(*valuePtr, str, *lengthPtr + 1); Tcl_DecrRefCount(pathPtr); diff --git a/unix/tclUnixPipe.c b/unix/tclUnixPipe.c index 0623648..dfeee0c 100644 --- a/unix/tclUnixPipe.c +++ b/unix/tclUnixPipe.c @@ -1059,7 +1059,7 @@ PipeInputProc( */ do { - bytesRead = read(GetFd(psPtr->inFile), buf, (size_t) toRead); + bytesRead = read(GetFd(psPtr->inFile), buf, toRead); } while ((bytesRead < 0) && (errno == EINTR)); if (bytesRead < 0) { @@ -1105,7 +1105,7 @@ PipeOutputProc( */ do { - written = write(GetFd(psPtr->outFile), buf, (size_t) toWrite); + written = write(GetFd(psPtr->outFile), buf, toWrite); } while ((written < 0) && (errno == EINTR)); if (written < 0) { diff --git a/unix/tclUnixSock.c b/unix/tclUnixSock.c index d53b3de..09ed008 100644 --- a/unix/tclUnixSock.c +++ b/unix/tclUnixSock.c @@ -241,7 +241,7 @@ InitializeHostName( if (dot != NULL) { char *node = Tcl_Alloc(dot - u.nodename + 1); - memcpy(node, u.nodename, (size_t) (dot - u.nodename)); + memcpy(node, u.nodename, dot - u.nodename); node[dot - u.nodename] = '\0'; hp = TclpGetHostByName(node); Tcl_Free(node); @@ -541,7 +541,7 @@ TcpInputProc( if (WaitForConnect(statePtr, errorCodePtr) != 0) { return -1; } - bytesRead = recv(statePtr->fds.fd, buf, (size_t) bufSize, 0); + bytesRead = recv(statePtr->fds.fd, buf, bufSize, 0); if (bytesRead > -1) { return bytesRead; } @@ -591,7 +591,7 @@ TcpOutputProc( if (WaitForConnect(statePtr, errorCodePtr) != 0) { return -1; } - written = send(statePtr->fds.fd, buf, (size_t) toWrite, 0); + written = send(statePtr->fds.fd, buf, toWrite, 0); if (written > -1) { return written; diff --git a/unix/tclXtNotify.c b/unix/tclXtNotify.c index 80202d3..56fe840 100644 --- a/unix/tclXtNotify.c +++ b/unix/tclXtNotify.c @@ -268,7 +268,7 @@ static void SetTimer( const Tcl_Time *timePtr) /* Timeout value, may be NULL. */ { - long timeout; + unsigned long timeout; if (!initialized) { InitNotifier(); @@ -281,7 +281,7 @@ SetTimer( if (timePtr) { timeout = timePtr->sec * 1000 + timePtr->usec / 1000; notifier.currentTimeout = XtAppAddTimeOut(notifier.appContext, - (unsigned long) timeout, TimerProc, NULL); + timeout, TimerProc, NULL); } else { notifier.currentTimeout = 0; } |
