summaryrefslogtreecommitdiff
path: root/awk.h
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2023-03-23 20:03:05 +0200
committerArnold D. Robbins <arnold@skeeve.com>2023-03-23 20:03:05 +0200
commit79b94a400aa1fbcf26e0535c1f6345ea7c1fbb54 (patch)
tree0b5fbe15c20ca4c455d6ecbf67807de4caa5aa6a /awk.h
parente7720935594d7442f92eecbe08eb69857aab8c4e (diff)
parent8bf639a108edfb478f8e0b11d41ddea5d85c7826 (diff)
downloadgawk-79b94a400aa1fbcf26e0535c1f6345ea7c1fbb54.tar.gz
Merge branch 'master' into feature/backslash-u
Diffstat (limited to 'awk.h')
-rw-r--r--awk.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/awk.h b/awk.h
index bf06dcf4..7a30503b 100644
--- a/awk.h
+++ b/awk.h
@@ -623,6 +623,7 @@ typedef enum opcodeval {
Op_store_var, /* simple variable assignment optimization */
Op_store_sub, /* array[subscript] assignment optimization */
Op_store_field, /* $n assignment optimization */
+ Op_store_field_exp, /* $n assignment optimization in an expression */
Op_assign_times,
Op_assign_quotient,
Op_assign_mod,
@@ -972,7 +973,7 @@ struct redirect {
RED_READ = 4,
RED_WRITE = 8,
RED_APPEND = 16,
- RED_NOBUF = 32,
+ RED_FLUSH = 32,
RED_USED = 64, /* closed temporarily to reuse fd */
RED_EOF = 128,
RED_TWOWAY = 256,
@@ -2031,6 +2032,9 @@ fixtype(NODE *n)
static inline bool
boolval(NODE *t)
{
+ if (t->type == Node_var) // could have come from converted Node_elem_new
+ t = t->var_value;
+
(void) fixtype(t);
if ((t->flags & NUMBER) != 0)
return ! is_zero(t);