HCoop
/
bpt
/
guile.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
3b7601c
)
Avoid side effects in argument to SCM_I_INUM.
author
Mark H Weaver
<mhw@netris.org>
Wed, 12 Mar 2014 00:12:32 +0000
(20:12 -0400)
committer
Mark H Weaver
<mhw@netris.org>
Wed, 12 Mar 2014 01:37:58 +0000
(21:37 -0400)
* libguile/vm-i-system.c (halt): Avoid side effects in argument to
SCM_I_INUM.
libguile/vm-i-system.c
patch
|
blob
|
blame
|
history
diff --git
a/libguile/vm-i-system.c
b/libguile/vm-i-system.c
index
e54a99b
..
5057fb0
100644
(file)
--- a/
libguile/vm-i-system.c
+++ b/
libguile/vm-i-system.c
@@
-32,8
+32,11
@@
VM_DEFINE_INSTRUCTION (0, nop, "nop", 0, 0, 0)
VM_DEFINE_INSTRUCTION (1, halt, "halt", 0, 0, 0)
{
SCM ret;
+ SCM nvalues_scm;
- nvalues = SCM_I_INUM (*sp--);
+ nvalues_scm = *sp--; /* SCM_I_INUM may evaluate its argument
+ more than once. */
+ nvalues = SCM_I_INUM (nvalues_scm);
NULLSTACK (1);
if (nvalues == 1)