aboutsummaryrefslogtreecommitdiffstats
path: root/awk.h
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2015-04-03 09:15:05 +0300
committerArnold D. Robbins <arnold@skeeve.com>2015-04-03 09:15:05 +0300
commit8d0b9648204d05537828e70ee1816834dc3b1d34 (patch)
treeaa5230c5450158ba4d50b6e13712fc4f27512f39 /awk.h
parenta899726e00426379e74b13732b2b6bf094f47cd9 (diff)
downloadegawk-8d0b9648204d05537828e70ee1816834dc3b1d34.tar.gz
egawk-8d0b9648204d05537828e70ee1816834dc3b1d34.tar.bz2
egawk-8d0b9648204d05537828e70ee1816834dc3b1d34.zip
Further progress on making hard regexes work.
Diffstat (limited to 'awk.h')
-rw-r--r--awk.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/awk.h b/awk.h
index 5cc0b143..1aa31b83 100644
--- a/awk.h
+++ b/awk.h
@@ -1764,6 +1764,9 @@ dupnode(NODE *n)
static inline NODE *
force_string(NODE *s)
{
+ if (s->type == Node_hardregex)
+ return s->re_exp;
+
if ((s->flags & STRCUR) != 0
&& (s->stfmt == -1 || s->stfmt == CONVFMTidx)
)
@@ -1786,6 +1789,9 @@ unref(NODE *r)
static inline NODE *
force_number(NODE *n)
{
+ if (n->type == Node_hardregex)
+ return Nnull_string;
+
return (n->flags & NUMCUR) ? n : str2number(n);
}