diff options
| author | Denys Vlasenko <vda.linux@googlemail.com> | 2020-07-19 20:49:22 +0200 |
|---|---|---|
| committer | Denys Vlasenko <vda.linux@googlemail.com> | 2020-07-19 20:49:22 +0200 |
| commit | 79a4032eefe405a1e7d4a644614fcc4a07b98d88 (patch) | |
| tree | 0b85959dc4eea1c1b9063acac8ce39ac775450fb /libbb | |
| parent | 4468c569f7112f4f6892dad52fd784ef4c22c44e (diff) | |
| download | busybox-w32-79a4032eefe405a1e7d4a644614fcc4a07b98d88.tar.gz busybox-w32-79a4032eefe405a1e7d4a644614fcc4a07b98d88.tar.bz2 busybox-w32-79a4032eefe405a1e7d4a644614fcc4a07b98d88.zip | |
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>
Diffstat (limited to 'libbb')
| -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 918526e6c..fba05f974 100644 --- a/libbb/last_char_is.c +++ b/libbb/last_char_is.c | |||
| @@ -11,14 +11,9 @@ | |||
| 11 | /* Find out if the last character of a string matches the one given */ | 11 | /* Find out if the last character of a string matches the one given */ |
| 12 | char* FAST_FUNC last_char_is(const char *s, int c) | 12 | char* FAST_FUNC last_char_is(const char *s, int c) |
| 13 | { | 13 | { |
| 14 | if (s) { | 14 | if (!s[0]) |
| 15 | size_t sz = strlen(s); | 15 | return NULL; |
| 16 | /* Don't underrun the buffer if the string length is 0 */ | 16 | while (s[1]) |
| 17 | if (sz != 0) { | 17 | s++; |
| 18 | s += sz - 1; | 18 | return (*s == (char)c) ? (char *) s : NULL; |
| 19 | if ((unsigned char)*s == c) | ||
| 20 | return (char*)s; | ||
| 21 | } | ||
| 22 | } | ||
| 23 | return NULL; | ||
| 24 | } | 19 | } |
