aboutsummaryrefslogtreecommitdiff
path: root/match.h
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2022-05-14 16:01:37 -0400
committerBruce Hill <bruce@bruce-hill.com>2022-05-14 16:01:37 -0400
commitca89d65513c57c6517d5190d33f0bbc690ba5d46 (patch)
tree6cfba39eeccba4c9f23aa2d07503533bf3c352e6 /match.h
parent563ecf332ee6e79f0cc7361e00a09963723fd402 (diff)
Better error handling
Diffstat (limited to 'match.h')
-rw-r--r--match.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/match.h b/match.h
index 6c875c4..64ae84c 100644
--- a/match.h
+++ b/match.h
@@ -25,12 +25,15 @@ typedef struct match_s {
struct match_s *_children[3];
} match_t;
+typedef void (*bp_errhand_t)(pat_t *pat, const char *err_msg);
+
__attribute__((nonnull))
void recycle_match(match_t **at_m);
size_t free_all_matches(void);
size_t recycle_all_matches(void);
bool next_match(match_t **m, const char *start, const char *end, pat_t *pat, pat_t *defs, pat_t *skip, bool ignorecase);
#define stop_matching(m) next_match(m, NULL, NULL, NULL, NULL, NULL, 0)
+bool next_match_safe(match_t **m, const char *start, const char *end, pat_t *pat, pat_t *defs, pat_t *skip, bool ignorecase, bp_errhand_t errhand);
__attribute__((nonnull))
match_t *get_numbered_capture(match_t *m, int n);
__attribute__((nonnull, pure))