Rocco Rutte:
[apps/madmutt.git] / lib / str.c
index 79bb469..f70bfda 100644 (file)
--- a/lib/str.c
+++ b/lib/str.c
 
 #include "mem.h"
 
-char *safe_strdup (const char *s)
+char *str_dup (const char *s)
 {
   char *p;
   size_t l;
 
   if (!s || !*s)
     return 0;
-  l = mutt_strlen (s) + 1;
-  p = (char *) safe_malloc (l);
+  l = str_len (s) + 1;
+  p = (char *) mem_malloc (l);
   memcpy (p, s, l);
   return (p);
 }
 
-char *safe_strcat (char *d, size_t l, const char *s)
+char *str_cat (char *d, size_t l, const char *s)
 {
   char *p = d;
 
@@ -48,7 +48,7 @@ char *safe_strcat (char *d, size_t l, const char *s)
   return p;
 }
 
-char *safe_strncat (char *d, size_t l, const char *s, size_t sl)
+char *str_ncat (char *d, size_t l, const char *s, size_t sl)
 {
   char *p = d;
 
@@ -67,21 +67,51 @@ char *safe_strncat (char *d, size_t l, const char *s, size_t sl)
   return p;
 }
 
-void mutt_str_replace (char **p, const char *s)
+int str_cmp (const char *a, const char *b)
 {
-  FREE (p);
-  *p = safe_strdup (s);
+  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 mutt_str_adjust (char **p)
+void str_replace (char **p, const char *s)
+{
+  mem_free (p);
+  *p = str_dup (s);
+}
+
+void str_adjust (char **p)
 {
   if (!p || !*p)
     return;
-  safe_realloc (p, mutt_strlen (*p) + 1);
+  mem_realloc (p, str_len (*p) + 1);
 }
 
 /* convert all characters in the string to lowercase */
-char *mutt_strlower (char *s)
+char *str_tolower (char *s)
 {
   char *p = s;
 
@@ -95,7 +125,7 @@ char *mutt_strlower (char *s)
 
 /* NULL-pointer aware string comparison functions */
 
-char *mutt_substrcpy (char *dest, const char *beg, const char *end,
+char *str_substrcpy (char *dest, const char *beg, const char *end,
                       size_t destlen)
 {
   size_t len;
@@ -108,7 +138,7 @@ char *mutt_substrcpy (char *dest, const char *beg, const char *end,
   return dest;
 }
 
-char *mutt_substrdup (const char *begin, const char *end)
+char *str_substrdup (const char *begin, const char *end)
 {
   size_t len;
   char *p;
@@ -116,45 +146,15 @@ char *mutt_substrdup (const char *begin, const char *end)
   if (end)
     len = end - begin;
   else
-    len = mutt_strlen (begin);
+    len = str_len (begin);
 
-  p = safe_malloc (len + 1);
+  p = mem_malloc (len + 1);
   memcpy (p, begin, len);
   p[len] = 0;
   return p;
 }
 
-int mutt_strcmp (const char *a, const char *b)
-{
-  return strcmp (NONULL (a), NONULL (b));
-}
-
-int mutt_strcasecmp (const char *a, const char *b)
-{
-  return strcasecmp (NONULL (a), NONULL (b));
-}
-
-int mutt_strncmp (const char *a, const char *b, size_t l)
-{
-  return strncmp (NONULL (a), NONULL (b), l);
-}
-
-int mutt_strncasecmp (const char *a, const char *b, size_t l)
-{
-  return strncasecmp (NONULL (a), NONULL (b), l);
-}
-
-size_t mutt_strlen (const char *a)
-{
-  return a ? strlen (a) : 0;
-}
-
-int mutt_strcoll (const char *a, const char *b)
-{
-  return strcoll (NONULL (a), NONULL (b));
-}
-
-const char *mutt_stristr (const char *haystack, const char *needle)
+const char *str_isstr (const char *haystack, const char *needle)
 {
   const char *p, *q;
 
@@ -175,17 +175,22 @@ const char *mutt_stristr (const char *haystack, const char *needle)
   return NULL;
 }
 
-char *mutt_skip_whitespace (char *p)
-{
-  SKIPWS (p);
-  return p;
+int str_eq (const char* s1, const char* s2) {
+  int l = str_len (s1);
+
+  if (l != str_len (s2))
+    return (0);
+  return (str_ncmp (s1, s2, l) == 0);
 }
 
-void mutt_remove_trailing_ws (char *s)
-{
+char* str_skip_initws (char* s) {
+  SKIPWS (s);
+  return (s);
+}
+
+void str_skip_trailws (char *s) {
   char *p;
 
-  for (p = s + mutt_strlen (s) - 1; p >= s && ISSPACE (*p); p--)
+  for (p = s + str_len (s) - 1; p >= s && ISSPACE (*p); p--)
     *p = 0;
 }
-