X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=readline%2Fxmalloc.c;h=c77d7634d6a062cfe12bee494b35fbccc1653c85;hb=0e602686df5677fee06cbd1718b4a7aa5379cd2a;hp=4160651191bba0f7f1a55e55ed5b837bfe0695aa;hpb=d60d9f651ab04df95fcd31488fbb46be263382ae;p=deliverable%2Fbinutils-gdb.git diff --git a/readline/xmalloc.c b/readline/xmalloc.c index 4160651191..c77d7634d6 100644 --- a/readline/xmalloc.c +++ b/readline/xmalloc.c @@ -1,23 +1,25 @@ /* xmalloc.c -- safe versions of malloc and realloc */ -/* Copyright (C) 1991 Free Software Foundation, Inc. +/* Copyright (C) 1991-2009 Free Software Foundation, Inc. - This file is part of GNU Readline, a library for reading lines - of text with interactive input and history editing. + This file is part of the GNU Readline Library (Readline), a library + for reading lines of text with interactive input and history editing. - Readline 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 1, or (at your option) any - later version. + Readline 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 3 of the License, or + (at your option) any later version. - Readline is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. + Readline is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + 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 Readline; see the file COPYING. If not, write to the Free - Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ + along with Readline. If not, see . +*/ + +#define READLINE_LIBRARY #if defined (HAVE_CONFIG_H) #include @@ -31,7 +33,7 @@ # include "ansi_stdlib.h" #endif /* HAVE_STDLIB_H */ -static void memory_error_and_abort (); +#include "xmalloc.h" /* **************************************************************** */ /* */ @@ -39,49 +41,39 @@ static void memory_error_and_abort (); /* */ /* **************************************************************** */ +static void +memory_error_and_abort (fname) + char *fname; +{ + fprintf (stderr, "%s: out of virtual memory\n", fname); + exit (2); +} + /* Return a pointer to free()able block of memory large enough to hold BYTES number of bytes. If the memory cannot be allocated, print an error message and abort. */ -char * +PTR_T xmalloc (bytes) - int bytes; + size_t bytes; { - char *temp; + PTR_T temp; - temp = (char *)malloc (bytes); + temp = malloc (bytes); if (temp == 0) memory_error_and_abort ("xmalloc"); return (temp); } -char * +PTR_T xrealloc (pointer, bytes) - char *pointer; - int bytes; + PTR_T pointer; + size_t bytes; { - char *temp; + PTR_T temp; - temp = pointer ? (char *)realloc (pointer, bytes) : (char *)malloc (bytes); + temp = pointer ? realloc (pointer, bytes) : malloc (bytes); if (temp == 0) memory_error_and_abort ("xrealloc"); return (temp); } - -static void -memory_error_and_abort (fname) - char *fname; -{ - fprintf (stderr, "%s: out of virtual memory\n", fname); - exit (2); -} - -/* Use this as the function to call when adding unwind protects so we - don't need to know what free() returns. */ -void -xfree (string) - char *string; -{ - if (string) - free (string); -}