X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fadt%2Fxmalloc.c;h=68d74aa4fb7230312036e7e606430d03e494e785;hb=b6c7fa168fe20849fce7c7400f6c1743a92e63df;hp=dab6fe31a30bbc101ebbef4459f847fb221c376d;hpb=974215da1a935f250766874d0f7a7ddfa34bc4ef;p=libfirm diff --git a/ir/adt/xmalloc.c b/ir/adt/xmalloc.c index dab6fe31a..68d74aa4f 100644 --- a/ir/adt/xmalloc.c +++ b/ir/adt/xmalloc.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved. + * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. * * This file is part of libFirm. * @@ -26,39 +26,29 @@ /* @@@ ToDo: replace this file with the one from liberty. [reimplement xstrdup, ... ] */ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif +#include "config.h" -#ifdef HAVE_STRING_H -# include -#endif -#ifdef HAVE_STDLIB_H -# include -#endif +#include +#include #include "xmalloc.h" #include "error.h" -static NORETURN xnomem(void) { +static NORETURN xnomem(void) +{ panic("out of memory"); } -void *xmalloc(size_t size) { +void *xmalloc(size_t size) +{ void *res = malloc(size); if (!res) xnomem(); return res; } -void *xcalloc(size_t num, size_t size) { - void *res = calloc(num, size); - - if (!res) xnomem(); - return res; -} - -void *xrealloc(void *ptr, size_t size) { +void *xrealloc(void *ptr, size_t size) +{ /* ANSI blesses realloc (0, x) but SunOS chokes on it */ void *res = ptr ? realloc (ptr, size) : malloc (size); @@ -66,7 +56,8 @@ void *xrealloc(void *ptr, size_t size) { return res; } -char *xstrdup(const char *str) { +char *xstrdup(const char *str) +{ size_t len = strlen (str) + 1; return memcpy((xmalloc) (len), str, len); }