X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fadt%2Fxmalloc.c;h=07252a60d380e917e1314a0256bb47629e691be3;hb=c0acb5cc9a2967e31e2b2961a98831d674cea3b8;hp=9511978ba137d5eefa6b8c32dc5a57fe42ccfb40;hpb=e3e22fa6f927847099c0bff62457003aa81f2518;p=libfirm diff --git a/ir/adt/xmalloc.c b/ir/adt/xmalloc.c index 9511978ba..07252a60d 100644 --- a/ir/adt/xmalloc.c +++ b/ir/adt/xmalloc.c @@ -1,52 +1,65 @@ -/* Xmalloc --- never failing wrappers for malloc() & friends. - Copyright (C) 1995, 1996 Markus Armbruster */ - -/* $Id$ */ +/* + * Project: libFIRM + * File name: ir/adt/xmalloc.c + * Purpose: Xmalloc --- never failing wrappers for malloc() & friends. + * Author: Markus Armbruster + * Modified by: + * Created: 1999 by getting from fiasco + * CVS-ID: $Id$ + * Copyright: (c) 1995, 1996 Markus Armbruster + * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE. + */ /* @@@ ToDo: replace this file with the one from liberty. [reimplement xstrdup, ... ] */ #ifdef HAVE_CONFIG_H -# include +# include "config.h" #endif -#include -#include -#include "misc.h" -#include "panic.h" +#ifdef HAVE_ALLOCA_H +# include +#endif +#ifdef HAVE_MALLOC_H +# include +#endif +#ifdef HAVE_STRING_H +# include +#endif +#ifdef HAVE_STDLIB_H +# include +#endif + +#include "xmalloc.h" +#include "error.h" +static NORETURN xnomem(void) { + panic("out of memory"); +} -void * -(xmalloc) (size_t size) -{ - void *res = malloc (size); +void *xmalloc(size_t size) { + void *res = malloc(size); - if (!res) xnomem (); + if (!res) xnomem(); return res; } +void *xcalloc(size_t num, size_t size) { + void *res = calloc(num, size); -void * -(xrealloc) (void *ptr, size_t size) -{ + if (!res) xnomem(); + return res; +} + +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); - if (!res) xnomem (); + if (!res) xnomem(); return res; } - -char * -(xstrdup) (const char *str) -{ +char *xstrdup(const char *str) { size_t len = strlen (str) + 1; - return memcpy ((xmalloc) (len), str, len); -} - - -void -xnomem (void) -{ - panic ("out of memory"); + return memcpy((xmalloc) (len), str, len); }