diff options
-rw-r--r-- | lib/lib.c | 11 | ||||
-rw-r--r-- | lib/lib.h | 1 | ||||
-rw-r--r-- | lib/portability.h | 3 | ||||
-rw-r--r-- | toys/lsb/passwd.c | 4 | ||||
-rw-r--r-- | toys/posix/grep.c | 2 |
5 files changed, 6 insertions, 15 deletions
@@ -1191,17 +1191,6 @@ char *next_printf(char *s, char **start) return 0; } -// Posix inexplicably hasn't got this, so find str in line. -char *strnstr(char *line, char *str) -{ - long len = strlen(str); - char *s; - - for (s = line; *s; s++) if (!strncasecmp(s, str, len)) break; - - return *s ? s : 0; -} - int dev_minor(int dev) { return ((dev&0xfff00000)>>12)|(dev&0xff); @@ -237,7 +237,6 @@ int qstrcmp(const void *a, const void *b); void create_uuid(char *uuid); char *show_uuid(char *uuid); char *next_printf(char *s, char **start); -char *strnstr(char *line, char *str); int dev_minor(int dev); int dev_major(int dev); int dev_makedev(int major, int minor); diff --git a/lib/portability.h b/lib/portability.h index c76beef9..59430e1b 100644 --- a/lib/portability.h +++ b/lib/portability.h @@ -88,6 +88,9 @@ char *dirname(char *path); char *__xpg_basename(char *path); static inline char *basename(char *path) { return __xpg_basename(path); } +#include <string.h> +char *strcasestr(const char *haystack, const char *needle); + // When building under obsolete glibc (Ubuntu 8.04-ish), hold its hand a bit. #if __GLIBC__ == 2 && __GLIBC_MINOR__ < 10 #define fstatat fstatat64 diff --git a/toys/lsb/passwd.c b/toys/lsb/passwd.c index 0f51c0c0..73024832 100644 --- a/toys/lsb/passwd.c +++ b/toys/lsb/passwd.c @@ -46,8 +46,8 @@ static void weak_check(char *new, char *old, char *user) if (strlen(new) < 6) msg = "too short"; if (*new) { - if (strnstr(new, user) || strnstr(user, new)) msg = "user"; - if (*old && (strnstr(new, old) || strnstr(old, new))) msg = "old"; + if (strcasestr(new, user) || strcasestr(user, new)) msg = "user"; + if (*old && (strcasestr(new, old) || strcasestr(old, new))) msg = "old"; } if (msg) xprintf("BAD PASSWORD: %s\n",msg); } diff --git a/toys/posix/grep.c b/toys/posix/grep.c index f0332cee..14cebf95 100644 --- a/toys/posix/grep.c +++ b/toys/posix/grep.c @@ -152,7 +152,7 @@ static void do_grep(int fd, char *name) fseek.arg = s = line; break; } - if (toys.optflags & FLAG_i) s = strnstr(line, seek->arg); + if (toys.optflags & FLAG_i) s = strcasestr(line, seek->arg); else s = strstr(line, seek->arg); if (s) break; } |