aboutsummaryrefslogtreecommitdiffstats
path: root/awkgram.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2017-01-19 21:08:42 +0200
committerArnold D. Robbins <arnold@skeeve.com>2017-01-19 21:08:42 +0200
commitfb5edec7717ee9759785c8671fe71623dfee23a2 (patch)
treed96366f5b796710a0f894d9ffad059f472291fd6 /awkgram.c
parent659ea6112338c501188deb81b679b7db05b5b054 (diff)
parent5a619e1986724cf8e27b637509925a8da36837e8 (diff)
downloadegawk-fb5edec7717ee9759785c8671fe71623dfee23a2.tar.gz
egawk-fb5edec7717ee9759785c8671fe71623dfee23a2.tar.bz2
egawk-fb5edec7717ee9759785c8671fe71623dfee23a2.zip
Merge branch 'master' into feature/api-mpfr
Diffstat (limited to 'awkgram.c')
-rw-r--r--awkgram.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/awkgram.c b/awkgram.c
index b80caa11..c6f47dbd 100644
--- a/awkgram.c
+++ b/awkgram.c
@@ -7422,8 +7422,14 @@ make_regnode(int type, NODE *exp)
n->re_cnt = 1;
if (type == Node_regex) {
- n->re_reg = make_regexp(exp->stptr, exp->stlen, false, true, false);
- if (n->re_reg == NULL) {
+ n->re_reg[0] = make_regexp(exp->stptr, exp->stlen, false, true, false);
+ if (n->re_reg[0] == NULL) {
+ freenode(n);
+ return NULL;
+ }
+ n->re_reg[1] = make_regexp(exp->stptr, exp->stlen, true, true, false);
+ if (n->re_reg[1] == NULL) {
+ refree(n->re_reg[0]);
freenode(n);
return NULL;
}