aboutsummaryrefslogtreecommitdiffstats
path: root/awk.h
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2016-08-25 22:14:15 +0300
committerArnold D. Robbins <arnold@skeeve.com>2016-08-25 22:14:15 +0300
commitb03d089e9b87c4e64bd539a1703e740923a67aa4 (patch)
treec7351e0b46c45d282eba64e478c99c0771a055a1 /awk.h
parente0dd835cc155c900ca9725a0d36eb0f5a856d9bf (diff)
parent00682d87a1a1c0535c0fa5adb27867578dc76d49 (diff)
downloadegawk-b03d089e9b87c4e64bd539a1703e740923a67aa4.tar.gz
egawk-b03d089e9b87c4e64bd539a1703e740923a67aa4.tar.bz2
egawk-b03d089e9b87c4e64bd539a1703e740923a67aa4.zip
Merge branch 'master' into feature/typed-regex
Diffstat (limited to 'awk.h')
-rw-r--r--awk.h13
1 files changed, 6 insertions, 7 deletions
diff --git a/awk.h b/awk.h
index f11105ba..89106588 100644
--- a/awk.h
+++ b/awk.h
@@ -206,11 +206,10 @@ typedef struct Regexp {
struct re_pattern_buffer pat;
struct re_registers regs;
struct dfa *dfareg;
- short dfa;
- short has_anchor; /* speed up of avoid_dfa kludge, temporary */
- short non_empty; /* for use in fpat_parse_field */
- short has_meta; /* re has meta chars so (probably) isn't simple string */
- short maybe_long; /* re has meta chars that can match long text */
+ bool has_anchor; /* re has anchors which dfa avoids */
+ bool non_empty; /* for use in fpat_parse_field */
+ bool has_meta; /* re has meta chars so (probably) isn't simple string */
+ bool maybe_long; /* re has meta chars that can match long text */
} Regexp;
#define RESTART(rp,s) (rp)->regs.start[0]
#define REEND(rp,s) (rp)->regs.end[0]
@@ -219,6 +218,7 @@ typedef struct Regexp {
#define NUMSUBPATS(rp,s) (rp)->regs.num_regs
/* regexp matching flags: */
+#define RE_NO_FLAGS 0 /* empty flags */
#define RE_NEED_START 1 /* need to know start/end of match */
#define RE_NO_BOL 2 /* not allowed to match ^ in regexp */
@@ -1443,7 +1443,7 @@ extern int sanitize_exit_status(int status);
extern void PUSH_CODE(INSTRUCTION *cp);
extern INSTRUCTION *POP_CODE(void);
extern void init_interpret(void);
-extern int cmp_nodes(NODE *t1, NODE *t2);
+extern int cmp_nodes(NODE *t1, NODE *t2, bool use_strcmp);
extern int cmp_awknums(const NODE *t1, const NODE *t2);
extern void set_IGNORECASE(void);
extern void set_OFS(void);
@@ -1651,7 +1651,6 @@ extern void reg_error(const char *s);
extern Regexp *re_update(NODE *t);
extern void resyntax(int syntax);
extern void resetup(void);
-extern int avoid_dfa(NODE *re, char *str, size_t len);
extern int reisstring(const char *text, size_t len, Regexp *re, const char *buf);
extern int get_numbase(const char *str, bool use_locale);