libbb: code shrink in last_char_is()

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2020-06-30 08:33:02 +02:00
parent c9fc15359e
commit d21a63f9fc

View File

@ -8,16 +8,17 @@
*/ */
#include "libbb.h" #include "libbb.h"
/* 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 */
* Don't underrun the buffer if the string length is 0.
*/
char* FAST_FUNC last_char_is(const char *s, int c) char* FAST_FUNC last_char_is(const char *s, int c)
{ {
if (s && *s) { if (s) {
size_t sz = strlen(s) - 1; size_t sz = strlen(s);
s += sz; /* Don't underrun the buffer if the string length is 0 */
if ( (unsigned char)*s == c) if (sz != 0) {
return (char*)s; s += sz - 1;
if ((unsigned char)*s == c)
return (char*)s;
}
} }
return NULL; return NULL;
} }