X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=lib%2Fstr.c;h=a91dd179ed31a460e5be017c738d93c62ab4bf69;hb=871a94fc21c9d349bb0fe8851e0f2e3a07527ed5;hp=e40e614dbc9e773eab5d6b3f233bace88b54a5e9;hpb=617e7d83d14e14e6a520a48e75437211b16c8834;p=apps%2Fmadmutt.git diff --git a/lib/str.c b/lib/str.c index e40e614..a91dd17 100644 --- a/lib/str.c +++ b/lib/str.c @@ -13,95 +13,21 @@ #include #include +#include #include "str.h" -char *str_dup (const char *s) -{ - if (!s || !*s) - return NULL; - return p_dupstr(s, str_len(s)); -} - -char *str_cat (char *d, size_t l, const char *s) -{ - char *p = d; - - if (!l) - return d; - - l--; /* Space for the trailing '\0'. */ - - for (; *d && l; l--) - d++; - for (; *s && l; l--) - *d++ = *s++; - - *d = '\0'; - - return p; -} - -char *str_ncat (char *d, size_t l, const char *s, size_t sl) -{ - char *p = d; - - if (!l) - return d; - - l--; /* Space for the trailing '\0'. */ - - for (; *d && l; l--) - d++; - for (; *s && l && sl; l--, sl--) - *d++ = *s++; - - *d = '\0'; - - return p; -} - -int str_cmp (const char *a, const char *b) -{ - return strcmp (NONULL (a), NONULL (b)); -} - -int str_casecmp (const char *a, const char *b) -{ - return strcasecmp (NONULL (a), NONULL (b)); -} - -int str_ncmp (const char *a, const char *b, size_t l) -{ - return strncmp (NONULL (a), NONULL (b), l); -} - -int str_ncasecmp (const char *a, const char *b, size_t l) -{ - return strncasecmp (NONULL (a), NONULL (b), l); -} - -size_t str_len (const char *a) -{ - return a ? strlen (a) : 0; -} - -int str_coll (const char *a, const char *b) -{ - return strcoll (NONULL (a), NONULL (b)); -} - void str_replace (char **p, const char *s) { p_delete(p); - *p = str_dup (s); + *p = m_strdup(s); } void str_adjust (char **p) { if (!p || !*p) return; - p_realloc(p, str_len (*p) + 1); + p_realloc(p, m_strlen(*p) + 1); } /* convert all characters in the string to lowercase */ @@ -159,21 +85,16 @@ const char *str_isstr (const char *haystack, const char *needle) } int str_eq (const char* s1, const char* s2) { - int l = str_len (s1); + int l = m_strlen(s1); - if (l != str_len (s2)) + if (l != m_strlen(s2)) return (0); - return (str_ncmp (s1, s2, l) == 0); -} - -char* str_skip_initws (char* s) { - SKIPWS (s); - return (s); + return (m_strncmp(s1, s2, l) == 0); } void str_skip_trailws (char *s) { char *p; - for (p = s + str_len (s) - 1; p >= s && ISSPACE (*p); p--) + for (p = s + m_strlen(s) - 1; p >= s && ISSPACE (*p); p--) *p = 0; }