less horrible strncpy's
[apps/madmutt.git] / lib / str.h
index 6c05b15..bc3cb82 100644 (file)
--- a/lib/str.h
+++ b/lib/str.h
@@ -7,14 +7,11 @@
  * It's licensed under the GNU General Public License,
  * please see the file GPL in the top level source directory.
  */
-
 #ifndef _LIB_STR_H
 #define _LIB_STR_H
 
 #include <sys/types.h>
 
-#define NONULL(x) x?x:""
-
 # define HUGE_STRING     5120
 # define LONG_STRING     1024
 # define STRING          256
@@ -33,7 +30,7 @@
 
 # define ISSPACE(c) isspace((unsigned char)c)
 # define ISBLANK(c) (c == ' ' || c == '\t')
-# define strfcpy(A,B,C) strncpy(A,B,C), *(A+(C)-1)=0
+# define strfcpy(A,B,C)  m_strcpy(A,C,B)
 /* this macro must check for *c == 0 since isspace(0) has
  * unreliable behavior on some systems */
 # define SKIPWS(c) while (*(c) && isspace ((unsigned char) *(c))) c++;
  * safety wrappers/replacements
  * (mostly only difference: safely handle NULL strings)
  */
-char *safe_strdup (const char*);
-char *safe_strcat (char*, size_t, const char*);
-char *safe_strncat (char*, size_t, const char*, size_t);
-int safe_strcmp (const char*, const char*);
-int safe_strcasecmp (const char*, const char*);
-int safe_strncmp (const char*, const char*, size_t);
-int safe_strncasecmp (const char*, const char*, size_t);
-int safe_strcoll (const char*, const char*);
-size_t safe_strlen (const char*);
+char *str_cat (char*, size_t, const char*);
+char *str_ncat (char*, size_t, const char*, size_t);
+int str_casecmp (const char*, const char*);
+int str_ncmp (const char*, const char*, size_t);
+int str_ncasecmp (const char*, const char*, size_t);
+int str_coll (const char*, const char*);
 
 /*
  * tools