diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2022-04-21 12:54:09 -0400 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2022-04-21 12:54:09 -0400 |
| commit | ef07c8a22ea2a5450bb3b303edbcead50b3b37ee (patch) | |
| tree | 5924bb5672664b6a2f4e019f3eaaf81ed11ae036 | |
| parent | bae576a997619a06ed323fa403e1300e72ef83e7 (diff) | |
Made NULL end values default to strlen()
| -rw-r--r-- | pattern.c | 3 | ||||
| -rw-r--r-- | pattern.h | 6 |
2 files changed, 6 insertions, 3 deletions
@@ -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__ @@ -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)) |
