diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2020-06-10 06:10:04 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2020-06-10 17:48:50 +0300 |
commit | 17d03a4deb7ed18abb4e0e590e6315050d9c29fd (patch) | |
tree | 324feeb1e3568042fe9e2f73ebd6d63296781cf7 /awk.h | |
parent | 5aae00200fc44bdfefbb497cf57eb23a9d2517be (diff) | |
download | egawk-17d03a4deb7ed18abb4e0e590e6315050d9c29fd.tar.gz egawk-17d03a4deb7ed18abb4e0e590e6315050d9c29fd.tar.bz2 egawk-17d03a4deb7ed18abb4e0e590e6315050d9c29fd.zip |
Add mbuilov fixes. Still needs review.
Diffstat (limited to 'awk.h')
-rw-r--r-- | awk.h | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -1267,8 +1267,11 @@ static inline void DEREF(NODE *r) { assert(r->valref > 0); - if (--r->valref == 0) - r_unref(r); +#ifndef GAWKDEBUG + if (--r->valref > 0) + return; +#endif + r_unref(r); } #define POP_NUMBER() force_number(POP_SCALAR()) @@ -1926,6 +1929,7 @@ force_string_fmt(NODE *s, const char *fmtstr, int fmtidx) static inline void unref(NODE *r) { + assert(r == NULL || r->valref > 0); if (r != NULL && --r->valref <= 0) r_unref(r); } |