X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=lib%2Fstr.c;h=016376e733bfe96b72cde7428eeb6a24f51c5800;hb=1c16e9623a9fb6a15bb284a6f7322b583ebc06a7;hp=451b8983fb8a11ea55fb21baebc50e267d6d2691;hpb=2a8949b88182e32a1adf7e61659112477ee7282d;p=apps%2Fmadmutt.git diff --git a/lib/str.c b/lib/str.c index 451b898..016376e 100644 --- a/lib/str.c +++ b/lib/str.c @@ -12,64 +12,10 @@ #include #include -#include "str.h" - -#include "mem.h" - -char *str_dup (const char *s) -{ - char *p; - size_t l; - - if (!s || !*s) return NULL; - l = str_len (s) + 1; - p = (char *) mem_malloc (l); - memcpy (p, s, l); - return (p); -} - -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; +#include +#include - 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)); -} +#include "str.h" int str_casecmp (const char *a, const char *b) { @@ -86,11 +32,6 @@ 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)); @@ -98,15 +39,15 @@ int str_coll (const char *a, const char *b) void str_replace (char **p, const char *s) { - mem_free (p); - *p = str_dup (s); + p_delete(p); + *p = m_strdup(s); } void str_adjust (char **p) { if (!p || !*p) return; - mem_realloc (p, str_len (*p) + 1); + p_realloc(p, m_strlen(*p) + 1); } /* convert all characters in the string to lowercase */ @@ -137,20 +78,9 @@ char *str_substrcpy (char *dest, const char *beg, const char *end, return dest; } -char *str_substrdup (const char *begin, const char *end) +char *str_substrdup(const char *begin, const char *end) { - size_t len; - char *p; - - if (end) - len = end - begin; - else - len = str_len (begin); - - p = mem_malloc (len + 1); - memcpy (p, begin, len); - p[len] = 0; - return p; + return p_dupstr(begin, (end ? end - begin : strlen(begin))); } const char *str_isstr (const char *haystack, const char *needle) @@ -175,9 +105,9 @@ 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); } @@ -190,6 +120,6 @@ char* str_skip_initws (char* s) { 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; }