From 1c35cb199fb0cb29cd9b0e4ad2e5470dabfaf8e0 Mon Sep 17 00:00:00 2001 From: Rob Browning Date: Thu, 17 Apr 2003 22:15:37 +0000 Subject: [PATCH] * numbers.c (scm_integer_expt): fix case where we were declaring vars in the middle of a statement block. Thanks to Thamer Al-Harbash. --- libguile/numbers.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/libguile/numbers.c b/libguile/numbers.c index 9461ba377..f54038721 100644 --- a/libguile/numbers.c +++ b/libguile/numbers.c @@ -1150,6 +1150,9 @@ SCM_DEFINE (scm_integer_expt, "integer-expt", 2, 0, 0, "@end lisp") #define FUNC_NAME s_scm_integer_expt { + long i2 = 0; + SCM z_i2 = SCM_BOOL_F; + int i2_is_big = 0; SCM acc = SCM_MAKINUM (1L); /* 0^0 == 1 according to R5RS */ @@ -1158,10 +1161,6 @@ SCM_DEFINE (scm_integer_expt, "integer-expt", 2, 0, 0, else if (SCM_EQ_P (n, SCM_MAKINUM (-1L))) return SCM_FALSEP (scm_even_p (k)) ? n : acc; - long i2 = 0; - SCM z_i2 = SCM_BOOL_F; - int i2_is_big = 0; - if (SCM_INUMP (k)) i2 = SCM_INUM (k); else if (SCM_BIGP (k))