From d21a63f9fca8eb16f79de9b72d4a3484dfaec1fc Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Tue, 30 Jun 2020 08:33:02 +0200 Subject: libbb: code shrink in last_char_is() Signed-off-by: Denys Vlasenko --- libbb/last_char_is.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'libbb/last_char_is.c') diff --git a/libbb/last_char_is.c b/libbb/last_char_is.c index 66f2e3635..918526e6c 100644 --- a/libbb/last_char_is.c +++ b/libbb/last_char_is.c @@ -8,16 +8,17 @@ */ #include "libbb.h" -/* Find out if the last character of a string matches the one given. - * Don't underrun the buffer if the string length is 0. - */ +/* 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 && *s) { - size_t sz = strlen(s) - 1; - s += sz; - if ( (unsigned char)*s == c) - return (char*)s; + 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; } -- cgit v1.2.3