-#include "str.h"
-
-#include "mem.h"
-
-char *safe_strdup (const char *s)
-{
- char *p;
- size_t l;
-
- if (!s || !*s)
- return 0;
- l = safe_strlen (s) + 1;
- p = (char *) safe_malloc (l);
- memcpy (p, s, l);
- return (p);
-}
-
-char *safe_strcat (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 *safe_strncat (char *d, size_t l, const char *s, size_t sl)
-{
- char *p = d;