#include <string.h>
#include <ctype.h>
-#include "str.h"
-
-#include "mem.h"
+#include <lib-lib/mem.h>
+#include <lib-lib/str.h>
-char *safe_strdup (const char *s)
-{
- char *p;
- size_t l;
-
- if (!s || !*s)
- return 0;
- l = mutt_strlen (s) + 1;
- p = (char *) safe_malloc (l);
- memcpy (p, s, l);
- return (p);
-}
+#include "str.h"
-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;
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;
return p;
}
-void mutt_str_replace (char **p, const char *s)
+int str_casecmp (const char *a, const char *b)
{
- FREE (p);
- *p = safe_strdup (s);
+ 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);
}
-void mutt_str_adjust (char **p)
+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 = m_strdup(s);
+}
+
+void str_adjust (char **p)
{
if (!p || !*p)
return;
- safe_realloc (p, mutt_strlen (*p) + 1);
+ p_realloc(p, m_strlen(*p) + 1);
}
/* convert all characters in the string to lowercase */
-char *mutt_strlower (char *s)
+char *str_tolower (char *s)
{
char *p = 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;
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;
-
- if (end)
- len = end - begin;
- else
- len = mutt_strlen (begin);
-
- p = safe_malloc (len + 1);
- memcpy (p, begin, len);
- p[len] = 0;
- return p;
+ return p_dupstr(begin, (end ? end - begin : strlen(begin)));
}
-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;
return NULL;
}
-char *mutt_skip_whitespace (char *p)
-{
- SKIPWS (p);
- return p;
+int str_eq (const char* s1, const char* s2) {
+ int l = m_strlen(s1);
+
+ if (l != m_strlen(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 + m_strlen(s) - 1; p >= s && ISSPACE (*p); p--)
*p = 0;
}
-