#include <ctype.h>
#include <lib-lib/mem.h>
+#include <lib-lib/str.h>
#include "str.h"
-#include "mem.h"
-
-char *str_dup (const char *s)
-{
- if (!s || !*s)
- return NULL;
- return p_dupstr(s, str_len(s));
-}
-
-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;
-
- 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));
-}
-
-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 str_replace (char **p, const char *s)
{
p_delete(p);
- *p = str_dup (s);
+ *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 */
}
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);
-}
-
-char* str_skip_initws (char* s) {
- SKIPWS (s);
- return (s);
+ return (m_strncmp(s1, s2, l) == 0);
}
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;
}