/**
* mutt_str_strdup - Copy a string, safely
- * @param s String to copy
+ * @param str String to copy
* @retval ptr Copy of the string
* @retval NULL if s was NULL
*/
-char *mutt_str_strdup(const char *s)
+char *mutt_str_strdup(const char *str)
{
- char *p = NULL;
- size_t l;
+ if (!str || !*str)
+ return NULL;
- if (!s || !*s)
- return 0;
- l = strlen(s) + 1;
- p = mutt_mem_malloc(l);
- memcpy(p, s, l);
- return p;
+ const size_t len = strlen(str) + 1;
+ char *copy = mutt_mem_malloc(len);
+ memcpy(copy, str, len);
+ return copy;
}
/**
const char *mutt_str_strchrnul(const char *s, char c);
int mutt_str_strcmp(const char *a, const char *b);
int mutt_str_strcoll(const char *a, const char *b);
-char * mutt_str_strdup(const char *s);
+char * mutt_str_strdup(const char *str);
size_t mutt_str_strfcpy(char *dest, const char *src, size_t dsize);
const char *mutt_str_stristr(const char *haystack, const char *needle);
size_t mutt_str_strlen(const char *a);