From 79a4032eefe405a1e7d4a644614fcc4a07b98d88 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sun, 19 Jul 2020 20:49:22 +0200 Subject: libbb: shrink last_char_is(), no longer allow NULL string argument function old new delta last_char_is 40 28 -12 Signed-off-by: Denys Vlasenko --- libbb/last_char_is.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'libbb/last_char_is.c') diff --git a/libbb/last_char_is.c b/libbb/last_char_is.c index 918526e6c..fba05f974 100644 --- a/libbb/last_char_is.c +++ b/libbb/last_char_is.c @@ -11,14 +11,9 @@ /* Find out if the last character of a string matches the one given */ char* FAST_FUNC last_char_is(const char *s, int c) { - if (s) { - size_t sz = strlen(s); - /* Don't underrun the buffer if the string length is 0 */ - if (sz != 0) { - s += sz - 1; - if ((unsigned char)*s == c) - return (char*)s; - } - } - return NULL; + if (!s[0]) + return NULL; + while (s[1]) + s++; + return (*s == (char)c) ? (char *) s : NULL; } -- cgit v1.2.3