summaryrefslogtreecommitdiff
path: root/libbb/last_char_is.c
diff options
context:
space:
mode:
Diffstat (limited to 'libbb/last_char_is.c')
-rw-r--r--libbb/last_char_is.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/libbb/last_char_is.c b/libbb/last_char_is.c
index 3616d59..aaa85dd 100644
--- a/libbb/last_char_is.c
+++ b/libbb/last_char_is.c
@@ -9,15 +9,15 @@
#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. Also avoids a possible
- * space-hogging inline of strlen() per usage.
+/* 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* last_char_is(const char *s, int c)
{
- if (s) {
- s = strrchr(s, c);
- if (s && !s[1])
+ if (s && *s) {
+ size_t sz = strlen(s) - 1;
+ s += sz;
+ if ( (unsigned char)*s == c)
return (char*)s;
}
return NULL;