traceroute: fix help text to not show -6 when traceroute6 is off
[oweals/busybox.git] / libbb / last_char_is.c
index 80a6fe2e4e7be821341e16943f39d6d077a53c10..b0592568c7ef9a7f8f089fda2784e35005e27d34 100644 (file)
@@ -9,17 +9,16 @@
 
 #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)
+char* FAST_FUNC last_char_is(const char *s, int c)
 {
-       char *sret;
-       if (s) {
-               sret = strrchr(s, c);
-               if (sret && !sret[1])
-                       return sret;
+       if (s && *s) {
+               size_t sz = strlen(s) - 1;
+               s += sz;
+               if ( (unsigned char)*s == c)
+                       return (char*)s;
        }
        return NULL;
 }