X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=readline%2Fxmalloc.c;h=c77d7634d6a062cfe12bee494b35fbccc1653c85;hb=20b23ee6c89b3c412f78017d777ca2d3d2937431;hp=0ed49ddad6e35de7e17f85eb8ef15fb02f3d708b;hpb=fa803dc60f0bf01297674c41d001798e18ade4dc;p=external%2Fbinutils.git diff --git a/readline/xmalloc.c b/readline/xmalloc.c index 0ed49dd..c77d763 100644 --- a/readline/xmalloc.c +++ b/readline/xmalloc.c @@ -1,33 +1,39 @@ /* 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 +#endif -#if defined (ALREADY_HAVE_XMALLOC) -#else #include #if defined (HAVE_STDLIB_H) # include +#else +# include "ansi_stdlib.h" #endif /* HAVE_STDLIB_H */ -static void memory_error_and_abort (); +#include "xmalloc.h" /* **************************************************************** */ /* */ @@ -35,42 +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 = (char *)malloc (bytes); + PTR_T temp; - if (!temp) + 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; - if (!pointer) - temp = (char *)malloc (bytes); - else - temp = (char *)realloc (pointer, bytes); + temp = pointer ? realloc (pointer, bytes) : malloc (bytes); - if (!temp) + 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); - abort (); -} -#endif /* !ALREADY_HAVE_XMALLOC */