X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-lib%2Fstr.c;h=7b5730574bbea86066a493026ff0552d812e0083;hp=a5333e481fe7b1f7c62c8d75928ba1b4076ac310;hb=9ed7a487e3a922f2cbb222961c2c9710c3a65f91;hpb=93b012884de4ca5e1f2550f767d0b8680b9c0e9f diff --git a/lib-lib/str.c b/lib-lib/str.c index a5333e4..7b57305 100644 --- a/lib-lib/str.c +++ b/lib-lib/str.c @@ -17,8 +17,7 @@ * Copyright © 2006 Pierre Habouzit */ -#include "macros.h" -#include "str.h" +#include "lib-lib.h" #define XX 255 unsigned char const __m_strdigits[128] = { @@ -141,3 +140,41 @@ const char *m_stristrn(const char *haystack, const char *needle, ssize_t nlen) haystack++; } } + +int ascii_strcasecmp(const char *a, const char *b) +{ + int i; + + if (a == b) + return 0; + if (a == NULL && b) + return -1; + if (b == NULL && a) + return 1; + + for (; *a || *b; a++, b++) { + if ((i = ascii_tolower(*a) - ascii_tolower(*b))) + return i; + } + + return 0; +} + +int ascii_strncasecmp (const char *a, const char *b, ssize_t n) +{ + int i, j; + + if (a == b) + return 0; + if (a == NULL && b) + return -1; + if (b == NULL && a) + return 1; + + for (j = 0; (*a || *b) && j < n; a++, b++, j++) { + if ((i = ascii_tolower(*a) - ascii_tolower(*b))) + return i; + } + + return 0; +}