diff options
-rw-r--r-- | libbb/last_char_is.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/libbb/last_char_is.c b/libbb/last_char_is.c index 918526e..fba05f9 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; } |