#include #include #include #include /* * Like strndup, but only returns NULL if str is NULL. * Note that this routine copies n bytes rather than n characters. */ char *str_ndup(const char *str,size_t n) { char *dup; if (!str) return NULL; dup=mem_alloc0(n+1,1); strncpy(dup,str,n); return dup; } /* * Like strdup, but only returns NULL if str is NULL. */ char *str_dup(const char *str) { return str_ndup(str,strlen(str)); }