summaryrefslogtreecommitdiffstats
path: root/generic/tclExecute.c
diff options
context:
space:
mode:
authorMiguel Sofer <miguel.sofer@gmail.com>2007-04-19 01:39:09 (GMT)
committerMiguel Sofer <miguel.sofer@gmail.com>2007-04-19 01:39:09 (GMT)
commitfb49f5dcab8ff9b5198b3616cad010098e1f5674 (patch)
treec7ba85067e21b3edefd78062708a25be5ca1c9bc /generic/tclExecute.c
parentf983cd5f117adbc96f5eedfd8c98a5677519760a (diff)
downloadtcl-fb49f5dcab8ff9b5198b3616cad010098e1f5674.zip
tcl-fb49f5dcab8ff9b5198b3616cad010098e1f5674.tar.gz
tcl-fb49f5dcab8ff9b5198b3616cad010098e1f5674.tar.bz2
* generic/tclExecute.c (INST_LSHIFT): fixed a mistake introduced
in version 1.266 ('=' became '=='), which effectively turned the block that handles native shifts into dead code. This explains why the testsuite did not pick this mistake. Rewrote to make the intention clear.
Diffstat (limited to 'generic/tclExecute.c')
-rw-r--r--generic/tclExecute.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index ebb5f49..abe70ad 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -12,7 +12,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclExecute.c,v 1.279 2007/04/18 21:00:42 msofer Exp $
+ * RCS: @(#) $Id: tclExecute.c,v 1.280 2007/04/19 01:39:13 msofer Exp $
*/
#include "tclInt.h"
@@ -4265,7 +4265,7 @@ TclExecuteByteCode(
TRACE(("%s %s => ", O2S(valuePtr), O2S(value2Ptr)));
if ((type1 == TCL_NUMBER_LONG)
&& (size_t) shift < CHAR_BIT*sizeof(long)
- && l1 == *(const long *)ptr1
+ && ((l1 = *(const long *)ptr1) != 0)
&& !((l1>0 ? l1 : ~l1)
& -(1L<<(CHAR_BIT*sizeof(long) - 1 - shift)))) {
TclNewLongObj(objResultPtr, (l1<<shift));