X-Git-Url: http://sjero.net/git/?a=blobdiff_plain;f=src%2Fxmalloc.c;h=427eefa8895222a0b836e32ecda5a6a28812d5ec;hb=4d7c5e087b2bc82c9f503dff003916d1047903ce;hp=cf3ad267dc76eb185d3d2fcf71b7dfe430e2d64a;hpb=2307fcc5c2caeaf3dea8ca4241093c2a5e9a43d7;p=wget
diff --git a/src/xmalloc.c b/src/xmalloc.c
index cf3ad267..427eefa8 100644
--- a/src/xmalloc.c
+++ b/src/xmalloc.c
@@ -1,12 +1,12 @@
/* Wrappers around malloc and memory debugging support.
- Copyright (C) 2005 Free Software Foundation, Inc.
+ Copyright (C) 2003-2006 Free Software Foundation, Inc.
This file is part of GNU Wget.
GNU Wget is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
+the Free Software Foundation; either version 3 of the License, or
+(at your option) any later version.
GNU Wget is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -14,8 +14,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
-along with Wget; if not, write to the Free Software
-Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+along with Wget. If not, see .
In addition, as a special exception, the Free Software Foundation
gives permission to link the code of its release of Wget with the
@@ -31,12 +30,7 @@ so, delete this exception statement from your version. */
#include
#include
-#ifdef HAVE_STRING_H
-# include
-#else /* not HAVE_STRING_H */
-# include
-#endif /* not HAVE_STRING_H */
-#include
+#include
#include
#include
@@ -44,10 +38,6 @@ so, delete this exception statement from your version. */
#include "xmalloc.h"
#include "hash.h" /* for hash_pointer */
-#ifndef errno
-extern int errno;
-#endif
-
/* This file implements several wrappers around the basic allocation
routines. This is done for two reasons: first, so that the callers
of these functions need not check for errors, which is easy to
@@ -67,7 +57,7 @@ memfatal (const char *context, long attempted_size)
{
/* Make sure we don't try to store part of the log line, and thus
call malloc. */
- log_set_save_context (0);
+ log_set_save_context (false);
logprintf (LOG_ALWAYS,
_("%s: %s: Failed to allocate %ld bytes; memory exhausted.\n"),
exec_name, context, attempted_size);
@@ -261,15 +251,15 @@ register_ptr (const void *ptr, const char *file, int line)
malloc_table[i].line = line;
}
-/* Unregister PTR from malloc_table. Return 0 if PTR is not present
- in malloc_table. */
+/* Unregister PTR from malloc_table. Return false if PTR is not
+ present in malloc_table. */
-static int
+static bool
unregister_ptr (void *ptr)
{
int i = ptr_position (ptr);
if (malloc_table[i].ptr == NULL)
- return 0;
+ return false;
malloc_table[i].ptr = NULL;
/* Relocate malloc_table entries immediately following PTR. */
@@ -288,7 +278,7 @@ unregister_ptr (void *ptr)
cont_outer:
;
}
- return 1;
+ return true;
}
/* Print the malloc debug stats gathered from the above information.
@@ -366,7 +356,7 @@ debugging_free (void *ptr, const char *source_file, int source_line)
}
if (!unregister_ptr (ptr))
{
- fprintf (stderr, "%s: bad xfree(%0*lx) at %s:%d\n",
+ fprintf (stderr, "%s: bad xfree(0x%0*lx) at %s:%d\n",
exec_name, PTR_FORMAT (ptr), source_file, source_line);
abort ();
}