![]() ![]() | ![]() |
version 1.1, 2015/04/24 16:24:11 | version 1.2, 2015/06/17 18:51:11 | ||
---|---|---|---|
|
|
||
return new_ptr; | return new_ptr; | ||
} | } | ||
void | |||
xfree(void *ptr) | |||
{ | |||
if (ptr == NULL) | |||
errx(1, "xfree: NULL pointer given as argument"); | |||
free(ptr); | |||
} | |||
char * | char * | ||
xstrdup(const char *str) | xstrdup(const char *str) | ||
{ | { | ||
size_t len; | |||
char *cp; | char *cp; | ||
len = strlen(str) + 1; | if ((cp = strdup(str)) == NULL) | ||
cp = xmalloc(len); | err(1, "xstrdup"); | ||
if (strlcpy(cp, str, len) >= len) | |||
errx(1, "xstrdup: string truncated"); | |||
return cp; | return cp; | ||
} | } | ||