aboutsummaryrefslogtreecommitdiffstats
path: root/awk.h
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2011-07-26 06:05:42 +0300
committerArnold D. Robbins <arnold@skeeve.com>2011-07-26 06:05:42 +0300
commit452f4efefd5511bc7dbe95b0167b10b403cdcf45 (patch)
treea0c957508537e36bb1449485d2d0881061750174 /awk.h
parentfc02808c31a55f1559143ad9d8ad50e2f71a512b (diff)
downloadegawk-452f4efefd5511bc7dbe95b0167b10b403cdcf45.tar.gz
egawk-452f4efefd5511bc7dbe95b0167b10b403cdcf45.tar.bz2
egawk-452f4efefd5511bc7dbe95b0167b10b403cdcf45.zip
Fix gsub and getline pass by reference. Add tests.
Diffstat (limited to 'awk.h')
-rw-r--r--awk.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/awk.h b/awk.h
index d9da3b98..1421203a 100644
--- a/awk.h
+++ b/awk.h
@@ -631,10 +631,7 @@ typedef struct exp_instruction {
#define sub_flags d.dl
#define GSUB 0x01 /* builtin is gsub */
#define GENSUB 0x02 /* builtin is gensub */
-#define AFTER_ASSIGN 0x04 /* (g)sub target is a field or a special var with
- * set_XX routine.
- */
-#define LITERAL 0x08 /* target is a literal string */
+#define LITERAL 0x04 /* target is a literal string */
/* Op_K_exit */
@@ -717,6 +714,9 @@ typedef struct exp_instruction {
/* Op_field_assign */
#define field_assign x.aptr
+/* Op_field_assign, Op_var_assign */
+#define assign_ctxt d.dl
+
/* Op_concat */
#define concat_flag d.dl
#define CSUBSEP 1
@@ -1192,7 +1192,7 @@ extern NODE *do_cos(int nargs);
extern NODE *do_rand(int nargs);
extern NODE *do_srand(int nargs);
extern NODE *do_match(int nargs);
-extern NODE *do_sub(int nargs, unsigned int flags, int *num_matches);
+extern NODE *do_sub(int nargs, unsigned int flags);
extern NODE *format_tree(const char *, size_t, NODE **, long);
extern NODE *do_lshift(int nargs);
extern NODE *do_rshift(int nargs);