From 7fe2a62464d5b7c7cd0ed1f5a0abf8daafd4ee34 Mon Sep 17 00:00:00 2001 From: andreas_kupries Date: Wed, 12 Dec 2001 22:32:35 +0000 Subject: * generic/tclIO.c (Tcl_GetsObj): Applied patch for bug #491341 as provided by Don Porter . Fixes assumption of having an empty Tcl_Obj to work with. --- ChangeLog | 20 +++++++++++++------- generic/tclIO.c | 8 ++++---- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index 97567d7..297a312 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,13 +1,19 @@ +2001-12-12 Andreas Kupries + + * generic/tclIO.c (Tcl_GetsObj): Applied patch for bug #491341 as + provided by Don Porter . Fixes + assumption of having an empty Tcl_Obj to work with. + 2001-12-11 Miguel Sofer * generic/tclCompCmds.c: * generic/tclCompile.c: * generic/tclExecute.c: consistency patch, to make all - instructions that pop a variable number of Tcl_Obj's off the - execution stack take the number of popped objects as first - operand. Modified *only* the new instructions - INST_LIST_INDEX_MULTI and INST_LSET_FLAT, so this has no effect on - bytecodes generated up to tcl8.4a3 inclusive. + instructions that pop a variable number of Tcl_Obj's off the + execution stack take the number of popped objects as first + operand. Modified *only* the new instructions + INST_LIST_INDEX_MULTI and INST_LSET_FLAT, so this has no effect + on bytecodes generated up to tcl8.4a3 inclusive. 2001-12-11 Miguel Sofer @@ -17,8 +23,8 @@ * generic/tclCompCmds.c (TclCompileLindexCmd): * generic/tclCompExpr.c (CompileMathFuncCall): removed the last - two overestimates of the necessary stack depth for bytecodes in - the fix of [Bug 483611]. + two overestimates of the necessary stack depth for bytecodes in + the fix of [Bug 483611]. 2001-12-10 Andreas Kupries diff --git a/generic/tclIO.c b/generic/tclIO.c index 982d6ff..22f22bc 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.41 2001/11/07 04:47:54 andreas_kupries Exp $ + * RCS: @(#) $Id: tclIO.c,v 1.42 2001/12/12 22:32:35 andreas_kupries Exp $ */ #include "tclInt.h" @@ -3631,13 +3631,13 @@ Tcl_GetsObj(chan, objPtr) if (statePtr->flags & CHANNEL_EOF) { skip = 0; eol = dstEnd; - if (eol == objPtr->bytes) { + if (eol == objPtr->bytes + oldLength) { /* - * If we didn't produce any bytes before encountering EOF, + * If we didn't append any bytes before encountering EOF, * caller needs to see -1. */ - Tcl_SetObjLength(objPtr, 0); + Tcl_SetObjLength(objPtr, oldLength); CommonGetsCleanup(chanPtr, encoding); copiedTotal = -1; goto done; -- cgit v0.12