X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=xmalloc.c;h=2b343fe48558c6a075e548d34e63e5ba6aa1ab53;hb=cf6c6a28b0631a29085ceeca86c980c0a6e4022d;hp=9ea57c41a1174fc2119d89f25db9822eb9e0c698;hpb=4c2423a98542de4ab80ff75cb5987aa59f788ee1;p=~andy%2Ffetchmail diff --git a/xmalloc.c b/xmalloc.c index 9ea57c41..2b343fe4 100644 --- a/xmalloc.c +++ b/xmalloc.c @@ -1,21 +1,19 @@ /* + * xmalloc.c -- allocate space or die + * + * Copyright 1998 by Eric S. Raymond. * For license terms, see the file COPYING in this directory. */ -/*********************************************************************** - module: xmalloc.c - project: fetchmail - programmer: Carl Harris, ceharris@mal.com - description: malloc wrapper. - - ***********************************************************************/ - - -#include +#include "config.h" #include +#include #include -#include +#if defined(STDC_HEADERS) +#include +#endif #include "fetchmail.h" +#include "i18n.h" #if defined(HAVE_VOIDPOINTER) #define XMALLOCTYPE void @@ -24,24 +22,39 @@ #endif XMALLOCTYPE * -xmalloc (n) -int n; +xmalloc (int n) { - XMALLOCTYPE *p; + XMALLOCTYPE *p; + + p = (XMALLOCTYPE *) malloc(n); + if (p == (XMALLOCTYPE *) 0) + { + report(stderr, _("malloc failed\n")); + exit(PS_UNDEFINED); + } + return(p); +} - p = (XMALLOCTYPE *) malloc(n); - if (p == (XMALLOCTYPE *) 0) { - fputs("malloc failed\n",stderr); - exit(PS_UNDEFINED); - } - return(p); +XMALLOCTYPE * +xrealloc (XMALLOCTYPE *p, int n) +{ + if (p == 0) + return xmalloc (n); + p = (XMALLOCTYPE *) realloc(p, n); + if (p == (XMALLOCTYPE *) 0) + { + report(stderr, _("realloc failed\n")); + exit(PS_UNDEFINED); + } + return p; } -char *xstrdup(s) -char *s; -{ - char *p; - p = (char *) xmalloc(strlen(s)+1); - strcpy(p,s); - return p; +char *xstrdup(const char *s) +{ + char *p; + p = (char *) xmalloc(strlen(s)+1); + strcpy(p,s); + return p; } + +/* xmalloc.c ends here */