diff --git a/libguile/eval.c b/libguile/eval.c index 92f20a2c5..5fa006362 100644 --- a/libguile/eval.c +++ b/libguile/eval.c @@ -2292,7 +2292,7 @@ dispatch: [scm_si_hashsets + hashset]; t.arg1 = SCM_CDR (t.arg1); } - while (--j && SCM_NIMP (t.arg1)); + while (j-- && SCM_NIMP (t.arg1)); i &= mask; end = i; } @@ -2312,7 +2312,7 @@ dispatch: t.arg1 = SCM_CDR (t.arg1); z = SCM_CDR (z); } - while (--j && SCM_NIMP (t.arg1)); + while (j-- && SCM_NIMP (t.arg1)); /* Fewer arguments than specifiers => CAR != ENV */ if (!(SCM_IMP (SCM_CAR (z)) || SCM_CONSP (SCM_CAR (z)))) goto next_method; diff --git a/libguile/objects.c b/libguile/objects.c index 68836dea5..5fe685349 100644 --- a/libguile/objects.c +++ b/libguile/objects.c @@ -276,7 +276,7 @@ scm_mcache_lookup_cmethod (SCM cache, SCM args) [scm_si_hashsets + hashset]; ls = SCM_CDR (ls); } - while (--j && SCM_NIMP (ls)); + while (j-- && SCM_NIMP (ls)); i &= mask; end = i; } @@ -296,7 +296,7 @@ scm_mcache_lookup_cmethod (SCM cache, SCM args) ls = SCM_CDR (ls); z = SCM_CDR (z); } - while (--j && SCM_NIMP (ls)); + while (j-- && SCM_NIMP (ls)); /* Fewer arguments than specifiers => CAR != ENV */ if (!(SCM_IMP (SCM_CAR (z)) || SCM_CONSP (SCM_CAR (z)))) goto next_method;