aboutsummaryrefslogtreecommitdiffstats
path: root/interpret.h
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2016-08-03 21:38:50 +0300
committerArnold D. Robbins <arnold@skeeve.com>2016-08-03 21:38:50 +0300
commitf591d307d9af95bfa0ccda4d5eb76a674447ba39 (patch)
tree65c8e2259634653566fc2c49ec996ff416330361 /interpret.h
parent9907a598dca8f129422c42f8c4fa3b4e2c988221 (diff)
downloadegawk-f591d307d9af95bfa0ccda4d5eb76a674447ba39.tar.gz
egawk-f591d307d9af95bfa0ccda4d5eb76a674447ba39.tar.bz2
egawk-f591d307d9af95bfa0ccda4d5eb76a674447ba39.zip
Restore typed regexp code in a new branch.
Diffstat (limited to 'interpret.h')
-rw-r--r--interpret.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/interpret.h b/interpret.h
index 6b832c16..3bb4532e 100644
--- a/interpret.h
+++ b/interpret.h
@@ -268,7 +268,7 @@ uninitialized_scalar:
r = r->var_value;
}
- if (r->type == Node_val)
+ if (r->type == Node_val || r->type == Node_typedregex)
UPREF(r);
PUSH(r);
break;
@@ -987,6 +987,8 @@ arrayfor:
r = POP_STRING();
unref(m->re_exp);
m->re_exp = r;
+ } else if (m->type == Node_typedregex) {
+ UPREF(m);
}
PUSH(m);
break;