move intl.h into lib-lib/macros.h
[apps/madmutt.git] / lib / str.c
index 451b898..e40e614 100644 (file)
--- a/lib/str.c
+++ b/lib/str.c
 #include <string.h>
 #include <ctype.h>
 
-#include "str.h"
+#include <lib-lib/mem.h>
 
-#include "mem.h"
+#include "str.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 +93,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);
 }
 
@@ -106,7 +101,7 @@ void str_adjust (char **p)
 {
   if (!p || !*p)
     return;
-  mem_realloc (p, str_len (*p) + 1);
+  p_realloc(p, str_len (*p) + 1);
 }
 
 /* convert all characters in the string to lowercase */
@@ -137,20 +132,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)