summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2004-09-10 20:06:40 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2004-09-10 20:06:40 (GMT)
commit7a17535a4cac473a9dfab8b3816e06908e9a918f (patch)
treeec18d8290de3bf188e7047f85e699995a4f62157 /generic
parent018ea7c6a2fe6ed1ced2e815c90008ec68e4fc15 (diff)
downloadtcl-7a17535a4cac473a9dfab8b3816e06908e9a918f.zip
tcl-7a17535a4cac473a9dfab8b3816e06908e9a918f.tar.gz
tcl-7a17535a4cac473a9dfab8b3816e06908e9a918f.tar.bz2
Fix [Bug 1025359] to make sure wide seeks don't lose errors
Diffstat (limited to 'generic')
-rw-r--r--generic/tclIO.c10
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);
}
}