summaryrefslogtreecommitdiffstats
path: root/generic
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
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')
-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));