From 62fe07b69e522c909aad303b31443cc3c9bdf6c0 Mon Sep 17 00:00:00 2001 From: "Andrew J. Schorr" Date: Sun, 5 Mar 2017 17:05:36 -0500 Subject: Enable an API input parser to supply an array of field widths to override the default gawk field parsing mechanism. --- awk.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'awk.h') diff --git a/awk.h b/awk.h index aae5e7ec..be6a6479 100644 --- a/awk.h +++ b/awk.h @@ -1510,7 +1510,7 @@ extern NODE *get_actual_argument(NODE *, int, bool); #endif /* field.c */ extern void init_fields(void); -extern void set_record(const char *buf, int cnt); +extern void set_record(const char *buf, int cnt, const int *); extern void reset_record(void); extern void rebuild_record(void); extern void set_NF(void); @@ -1527,9 +1527,11 @@ extern void update_PROCINFO_num(const char *subscript, AWKNUM val); typedef enum { Using_FS, Using_FIELDWIDTHS, - Using_FPAT + Using_FPAT, + Using_API } field_sep_type; extern field_sep_type current_field_sep(void); +extern const char *current_field_sep_str(void); /* gawkapi.c: */ extern gawk_api_t api_impl; -- cgit v1.2.3 From 39c46265139aa8faf87160b30710876bde4c6ba9 Mon Sep 17 00:00:00 2001 From: "Andrew J. Schorr" Date: Thu, 9 Mar 2017 20:44:09 -0500 Subject: For API input field parsing, use an array of structs instead of an array of integers. --- awk.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'awk.h') diff --git a/awk.h b/awk.h index be6a6479..7acb2714 100644 --- a/awk.h +++ b/awk.h @@ -1510,7 +1510,7 @@ extern NODE *get_actual_argument(NODE *, int, bool); #endif /* field.c */ extern void init_fields(void); -extern void set_record(const char *buf, int cnt, const int *); +extern void set_record(const char *buf, int cnt, const awk_input_field_info_t *); extern void reset_record(void); extern void rebuild_record(void); extern void set_NF(void); -- cgit v1.2.3 From d1bebd3cbf60fa25883271512cf63e0c3275e3ef Mon Sep 17 00:00:00 2001 From: "Andrew J. Schorr" Date: Tue, 21 Mar 2017 13:22:18 -0400 Subject: Enhance FIELDWIDTHS syntax to support a skip prefix, and unify logic with API field parsing. --- awk.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'awk.h') diff --git a/awk.h b/awk.h index 1935534c..43d2713c 100644 --- a/awk.h +++ b/awk.h @@ -1510,7 +1510,7 @@ extern NODE *get_actual_argument(NODE *, int, bool); #endif /* field.c */ extern void init_fields(void); -extern void set_record(const char *buf, int cnt, const awk_input_field_info_t *); +extern void set_record(const char *buf, int cnt, const awk_fieldwidth_info_t *); extern void reset_record(void); extern void rebuild_record(void); extern void set_NF(void); -- cgit v1.2.3