X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=lib%2Fstr.c;h=11c27b31f4c19fc2883c797254456d11aba83816;hb=49f1156410e9a037404101696d37b2c0d5c67564;hp=451b8983fb8a11ea55fb21baebc50e267d6d2691;hpb=2a8949b88182e32a1adf7e61659112477ee7282d;p=apps%2Fmadmutt.git diff --git a/lib/str.c b/lib/str.c index 451b898..11c27b3 100644 --- a/lib/str.c +++ b/lib/str.c @@ -12,20 +12,17 @@ #include #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); + if (!s || !*s) + return NULL; + return p_dupstr(s, str_len(s)); } char *str_cat (char *d, size_t l, const char *s) @@ -98,7 +95,7 @@ int str_coll (const char *a, const char *b) void str_replace (char **p, const char *s) { - mem_free (p); + p_delete(p); *p = str_dup (s); } @@ -137,20 +134,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)