diff options
| author | donal.k.fellows@manchester.ac.uk <dkf> | 2004-09-10 20:06:40 (GMT) |
|---|---|---|
| committer | donal.k.fellows@manchester.ac.uk <dkf> | 2004-09-10 20:06:40 (GMT) |
| commit | e3338510fc38adf1bc6bc39691209701219abccb (patch) | |
| tree | ec18d8290de3bf188e7047f85e699995a4f62157 /generic/tclIO.c | |
| parent | 217a597549e3756cde0d533cf0e7c2a1ef138871 (diff) | |
| download | tcl-e3338510fc38adf1bc6bc39691209701219abccb.zip tcl-e3338510fc38adf1bc6bc39691209701219abccb.tar.gz tcl-e3338510fc38adf1bc6bc39691209701219abccb.tar.bz2 | |
Fix [Bug 1025359] to make sure wide seeks don't lose errors
Diffstat (limited to 'generic/tclIO.c')
| -rw-r--r-- | generic/tclIO.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/generic/tclIO.c b/generic/tclIO.c index 154bec0..054cc89 100644 --- a/generic/tclIO.c +++ b/generic/tclIO.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclIO.c,v 1.61.2.7 2004/07/15 20:46:18 andreas_kupries Exp $ + * RCS: @(#) $Id: tclIO.c,v 1.61.2.8 2004/09/10 20:06:41 dkf Exp $ */ #include "tclInt.h" @@ -5544,15 +5544,15 @@ Tcl_Seek(chan, offset, mode) offset, mode, &result); } else if (offset < Tcl_LongAsWide(LONG_MIN) || offset > Tcl_LongAsWide(LONG_MAX)) { - Tcl_SetErrno(EOVERFLOW); + result = EOVERFLOW; curPos = Tcl_LongAsWide(-1); } else { curPos = Tcl_LongAsWide((chanPtr->typePtr->seekProc) ( chanPtr->instanceData, Tcl_WideAsLong(offset), mode, &result)); - if (curPos == Tcl_LongAsWide(-1)) { - Tcl_SetErrno(result); - } + } + if (curPos == Tcl_LongAsWide(-1)) { + Tcl_SetErrno(result); } } |
