diff --git a/src/svalue.c b/src/svalue.c index 7fb2807df96e73bb9cdd867b28a341e3e066e646..05f6101b2ef89931b27dd64c5a8dbf07753ee814 100644 --- a/src/svalue.c +++ b/src/svalue.c @@ -200,7 +200,7 @@ void free_svalues(struct svalue *s,INT32 num, INT32 type_hint) COMBINE(BIT_STRING, BIT_ARRAY, BIT_MAPPING, BIT_MULTISET, BIT_OBJECT, BIT_PROGRAM, BIT_FUNCTION); while(--num>=0) { - if(s->u.refs[0]--<=0) + if(--s->u.refs[0]<=0) really_free_svalue(s); s++; } @@ -209,7 +209,7 @@ void free_svalues(struct svalue *s,INT32 num, INT32 type_hint) case BIT_FUNCTION: while(--num>=0) { - if(s->u.refs[0]-- <= 0) + if(--s->u.refs[0] <= 0) { if(s->subtype == FUNCTION_BUILTIN) really_free_callable(s->u.efun);