X-Git-Url: https://git.deb.at/?a=blobdiff_plain;f=xmalloc.c;h=ca784be299a418063bc5fb4478a7e5959136e11e;hb=310ae766b208c4dab933b574326013902aaf0328;hp=bc22a97b19faa6867ee9f8535a5b0ea52d3e2a3b;hpb=384a832f989722381d0ad998a87d52f2ce05b714;p=pkg%2Fabook.git diff --git a/xmalloc.c b/xmalloc.c index bc22a97..ca784be 100644 --- a/xmalloc.c +++ b/xmalloc.c @@ -36,11 +36,13 @@ #include #include #include +#include "gettext.h" +#include "xmalloc.h" static void xmalloc_default_error_handler(int err) { - fprintf(stderr, "Memory allocation failure: %s\n", strerror(err)); + fprintf(stderr, _("Memory allocation failure: %s\n"), strerror(err)); exit(EXIT_FAILURE); } @@ -134,10 +136,16 @@ xrealloc_inc(void *ptr, size_t size, size_t inc) return ptr; } -void -xfree(void *ptr) +char * +xstrdup(const char *s) { - free(ptr); - ptr = NULL; + size_t len = strlen(s); + void *new; + + new = xmalloc_inc(len, 1); + if(new == NULL) + return NULL; + + return (char *)memcpy(new, s, len + 1); }