* Sebastian Hammer, Adam Dickmeiss
*
* $Log: xmalloc.c,v $
- * Revision 1.1 1995-11-01 11:56:53 quinn
+ * Revision 1.4 1996-07-03 13:21:36 adam
+ * Function xfree_f checks for NULL pointer.
+ *
+ * Revision 1.3 1995/12/05 15:08:44 adam
+ * Fixed verbose of xrealloc.
+ *
+ * Revision 1.2 1995/12/05 11:08:37 adam
+ * More verbose malloc routines.
+ *
+ * Revision 1.1 1995/11/01 11:56:53 quinn
* Added Xmalloc.
*
* Revision 1.6 1995/10/16 14:03:11 quinn
void *xrealloc_f (void *o, size_t size, char *file, int line)
{
- void *p;
+ void *p = realloc (o, size);
#ifdef TRACE_XMALLOC
- fprintf(stderr, "%s:%d: xrealloc(s=%d)\n", file, line, size);
+ fprintf(stderr, "%s:%d: xrealloc(s=%d) %p -> %p\n", file, line, size, o, p);
#endif
- p = realloc (o, size);
if (!p)
{
logf (LOG_FATAL|LOG_ERRNO, "Out of memory, realloc (%d bytes)", size);
void *xmalloc_f (size_t size, char *file, int line)
{
- void *p;
+ void *p = malloc (size);
#ifdef TRACE_XMALLOC
- fprintf(stderr, "%s:%d: xmalloc(s=%d)\n", file, line, size);
+ fprintf(stderr, "%s:%d: xmalloc(s=%d) %p\n", file, line, size, p);
#endif
- p = malloc (size);
if (!p)
{
logf (LOG_FATAL, "Out of memory - malloc (%d bytes)", size);
void *xcalloc_f (size_t nmemb, size_t size, char *file, int line)
{
- void *p;
+ void *p = calloc (nmemb, size);
#ifdef TRACE_XMALLOC
- fprintf(stderr, "%s:%d: xcalloc(s=%d)\n", file, line, size);
+ fprintf(stderr, "%s:%d: xcalloc(s=%d) %p\n", file, line, size, p);
#endif
- p = calloc (nmemb, size);
if (!p)
{
logf (LOG_FATAL, "Out of memory - calloc (%d, %d)", nmemb, size);
{
char *p = xmalloc (strlen(s)+1);
#ifdef TRACE_XMALLOC
- fprintf(stderr, "%s:%d: xstrdup(s=%d)\n", file, line, strlen(s)+1);
+ fprintf(stderr, "%s:%d: xstrdup(s=%d) %p\n", file, line, strlen(s)+1, p);
#endif
strcpy (p, s);
return p;
void xfree_f(void *p, char *file, int line)
{
+ if (!p)
+ return ;
#ifdef TRACE_XMALLOC
- fprintf(stderr, "%s:%d: xfree\n", file, line);
+ if (p)
+ fprintf(stderr, "%s:%d: xfree %p\n", file, line, p);
#endif
free(p);
}