From: Rasmus Villemoes Date: Tue, 13 May 2025 08:40:29 +0000 (+0200) Subject: slre: refactor is_any_but() X-Git-Tag: v2025.10-rc1~118^2~67^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=457f19815c8f8b74c36d8cbef454a0b575ea7068;p=thirdparty%2Fu-boot.git slre: refactor is_any_but() As preparation for fixing the handling of backslash-escapes used inside a character class, refactor is_any_but() to be defined in terms of is_any_of() so we don't have to repeat the same logic in two places. Reviewed-by: Simon Glass Signed-off-by: Rasmus Villemoes --- diff --git a/lib/slre.c b/lib/slre.c index 4f455400d3a..5cb0d3ec7fa 100644 --- a/lib/slre.c +++ b/lib/slre.c @@ -484,17 +484,14 @@ is_any_of(const unsigned char *p, int len, const char *s, int *ofs) static int is_any_but(const unsigned char *p, int len, const char *s, int *ofs) { - int i, ch; - - ch = s[*ofs]; + int dummy = *ofs; - for (i = 0; i < len; i++) { - if (p[i] == ch) - return 0; + if (is_any_of(p, len, s, &dummy)) { + return 0; + } else { + (*ofs)++; + return 1; } - - (*ofs)++; - return 1; } static int