summaryrefslogtreecommitdiffstats
path: root/generic/tclExecute.c
diff options
context:
space:
mode:
Diffstat (limited to 'generic/tclExecute.c')
-rw-r--r--generic/tclExecute.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index 99f16db..d1ff368 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -14,7 +14,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.418 2008/10/17 16:32:58 dgp Exp $
+ * RCS: @(#) $Id: tclExecute.c,v 1.419 2008/10/26 18:34:04 dkf Exp $
*/
#include "tclInt.h"
@@ -6208,6 +6208,7 @@ TclExecuteByteCode(
/ sizeof(unsigned short)) - 1)) {
unsigned short base = Exp32Index[l1-3]
+ (unsigned short) l2 - 9;
+
if (base < Exp32Index[l1-2]) {
/*
* 32-bit number raised to intermediate power, done by
@@ -6225,14 +6226,14 @@ TclExecuteByteCode(
NEXT_INST_F(1, 1, 0);
}
}
- if (-l1 >= 3
- && (unsigned long)(-l1) < (sizeof(Exp32Index)
- / sizeof(unsigned short)) - 1) {
- unsigned short base
- = Exp32Index[-l1-3] + (unsigned short) l2 - 9;
+ if (-l1 >= 3 && (unsigned long)(-l1) <
+ (sizeof(Exp32Index) / sizeof(unsigned short)) - 1) {
+ unsigned short base =
+ Exp32Index[-l1-3] + (unsigned short) l2 - 9;
+
if (base < Exp32Index[-l1-2]) {
long lResult = (oddExponent) ?
- -Exp32Value[base] : Exp32Value[base];
+ -Exp32Value[base] : Exp32Value[base];
/*
* 32-bit number raised to intermediate power, done by