diff options
-rw-r--r-- | grammar/rainerscript.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/grammar/rainerscript.c b/grammar/rainerscript.c index 035b017d..a2455755 100644 --- a/grammar/rainerscript.c +++ b/grammar/rainerscript.c @@ -1088,6 +1088,7 @@ cnfexprEval(struct cnfexpr *expr, struct var *ret, void* usrptr) if(bMustFree) es_deleteStr(estr_r); } } + if(r.datatype == 'S') es_deleteStr(r.d.estr); } } else { cnfexprEval(expr->r, &r, usrptr); @@ -1103,8 +1104,9 @@ cnfexprEval(struct cnfexpr *expr, struct var *ret, void* usrptr) } else { ret->d.n = (l.d.n == r.d.n); /*CMP*/ } + if(r.datatype == 'S') es_deleteStr(r.d.estr); } - FREE_BOTH_RET; + if(l.datatype == 'S') es_deleteStr(l.d.estr); break; case CMP_NE: cnfexprEval(expr->l, &l, usrptr); |