diff options
| author | dgp@users.sourceforge.net <dgp> | 2014-08-12 15:47:20 (GMT) | 
|---|---|---|
| committer | dgp@users.sourceforge.net <dgp> | 2014-08-12 15:47:20 (GMT) | 
| commit | 17d24e85aa30b188e0a7eb0ce085f30a94d1894b (patch) | |
| tree | e970a18adeba91930f206d5a80584b274e169017 /generic/tclIO.c | |
| parent | 2bf8d79479b1f45b530dc718e80d732f463f872a (diff) | |
| parent | ab2101a521c8944b1561661d9c73442633fcd3be (diff) | |
| download | tcl-17d24e85aa30b188e0a7eb0ce085f30a94d1894b.zip tcl-17d24e85aa30b188e0a7eb0ce085f30a94d1894b.tar.gz tcl-17d24e85aa30b188e0a7eb0ce085f30a94d1894b.tar.bz2 | |
merge trunk
Diffstat (limited to 'generic/tclIO.c')
| -rw-r--r-- | generic/tclIO.c | 12 | 
1 files changed, 10 insertions, 2 deletions
| diff --git a/generic/tclIO.c b/generic/tclIO.c index c142917..66c0be6 100644 --- a/generic/tclIO.c +++ b/generic/tclIO.c @@ -9048,7 +9048,8 @@ MBWrite(      ChannelState *outStatePtr = csPtr->writePtr->state;      ChannelBuffer *bufPtr = inStatePtr->inQueueHead;      ChannelBuffer *tail = NULL; -    int code, inBytes = 0; +    int code; +    Tcl_WideInt inBytes = 0;      /* Count up number of bytes waiting in the input queue */      while (bufPtr) { @@ -9063,7 +9064,14 @@ MBWrite(      if (bufPtr) {  	/* Split the overflowing buffer in two */ -	int extra = inBytes - csPtr->toRead; +	int extra = (int) (inBytes - csPtr->toRead); +        /* Note that going with int for extra assumes that inBytes is not too +         * much over toRead to require a wide itself. If that gets violated +         * then the calculations involving extra must be made wide too. +         * +         * Noted with Win32/MSVC debug build treating the warning (possible of +         * data in int64 to int conversion) as error. +         */  	bufPtr = AllocChannelBuffer(extra); | 
