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 <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2020-07-19 20:49:22 +02:00
parent 4468c569f7
commit 79a4032eef

View File

@ -11,14 +11,9 @@
/* Find out if the last character of a string matches the one given */ /* Find out if the last character of a string matches the one given */
char* FAST_FUNC last_char_is(const char *s, int c) char* FAST_FUNC last_char_is(const char *s, int c)
{ {
if (s) { if (!s[0])
size_t sz = strlen(s); return NULL;
/* Don't underrun the buffer if the string length is 0 */ while (s[1])
if (sz != 0) { s++;
s += sz - 1; return (*s == (char)c) ? (char *) s : NULL;
if ((unsigned char)*s == c)
return (char*)s;
}
}
return NULL;
} }