From ef07c8a22ea2a5450bb3b303edbcead50b3b37ee Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Thu, 21 Apr 2022 12:54:09 -0400 Subject: Made NULL end values default to strlen() --- pattern.c | 3 +++ pattern.h | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pattern.c b/pattern.c index 5190ccd..1832999 100644 --- a/pattern.c +++ b/pattern.c @@ -528,6 +528,7 @@ static pat_t *_bp_simplepattern(const char *str, const char *end) maybe_pat_t bp_stringpattern(const char *str, const char *end) { __TRY_PATTERN__ + if (!end) end = str + strlen(str); pat_t *ret = NULL; while (str < end) { char *start = (char*)str; @@ -602,6 +603,7 @@ maybe_pat_t bp_replacement(pat_t *replacepat, const char *replacement, const cha pat_t *pat = new_pat(BP_REPLACE, replacepat->start, replacepat->end, replacepat->min_matchlen, replacepat->max_matchlen); pat->args.replace.pat = replacepat; const char *p = replacement; + if (!end) end = replacement + strlen(replacement); __TRY_PATTERN__ for (; p < end; p++) { if (*p == '\\') { @@ -645,6 +647,7 @@ pat_t *bp_raw_literal(const char *str, size_t len) maybe_pat_t bp_pattern(const char *str, const char *end) { str = after_spaces(str, true, end); + if (!end) end = str + strlen(str); __TRY_PATTERN__ pat_t *ret = bp_pattern_nl(str, end, false); __END_TRY_PATTERN__ diff --git a/pattern.h b/pattern.h index dd763d5..a39f5bf 100644 --- a/pattern.h +++ b/pattern.h @@ -108,13 +108,13 @@ typedef struct { __attribute__((nonnull, returns_nonnull)) pat_t *bp_raw_literal(const char *str, size_t len); -__attribute__((nonnull)) +__attribute__((nonnull(1))) maybe_pat_t bp_stringpattern(const char *str, const char *end); -__attribute__((nonnull)) +__attribute__((nonnull(1,2))) maybe_pat_t bp_replacement(pat_t *replacepat, const char *replacement, const char *end); pat_t *chain_together(pat_t *first, pat_t *second); pat_t *either_pat(pat_t *first, pat_t *second); -__attribute__((nonnull)) +__attribute__((nonnull(1))) maybe_pat_t bp_pattern(const char *str, const char *end); void free_all_pats(void); __attribute__((nonnull)) -- cgit v1.2.3