Remove gdb workaround from readline/xfree.c
[deliverable/binutils-gdb.git] / readline / xmalloc.c
CommitLineData
d60d9f65
SS
1/* xmalloc.c -- safe versions of malloc and realloc */
2
cc88a640 3/* Copyright (C) 1991-2009 Free Software Foundation, Inc.
d60d9f65 4
cc88a640
JK
5 This file is part of the GNU Readline Library (Readline), a library
6 for reading lines of text with interactive input and history editing.
d60d9f65 7
cc88a640
JK
8 Readline is free software: you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation, either version 3 of the License, or
11 (at your option) any later version.
d60d9f65 12
cc88a640
JK
13 Readline is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
d60d9f65
SS
17
18 You should have received a copy of the GNU General Public License
cc88a640
JK
19 along with Readline. If not, see <http://www.gnu.org/licenses/>.
20*/
21
1b17e766 22#define READLINE_LIBRARY
d60d9f65
SS
23
24#if defined (HAVE_CONFIG_H)
25#include <config.h>
26#endif
27
28#include <stdio.h>
29
30#if defined (HAVE_STDLIB_H)
31# include <stdlib.h>
32#else
33# include "ansi_stdlib.h"
34#endif /* HAVE_STDLIB_H */
35
1b17e766 36#include "xmalloc.h"
d60d9f65
SS
37
38/* **************************************************************** */
39/* */
40/* Memory Allocation and Deallocation. */
41/* */
42/* **************************************************************** */
43
1b17e766
EZ
44static void
45memory_error_and_abort (fname)
46 char *fname;
47{
48 fprintf (stderr, "%s: out of virtual memory\n", fname);
49 exit (2);
50}
51
d60d9f65
SS
52/* Return a pointer to free()able block of memory large enough
53 to hold BYTES number of bytes. If the memory cannot be allocated,
54 print an error message and abort. */
9255ee31 55PTR_T
d60d9f65 56xmalloc (bytes)
9255ee31 57 size_t bytes;
d60d9f65 58{
9255ee31 59 PTR_T temp;
d60d9f65 60
9255ee31 61 temp = malloc (bytes);
d60d9f65
SS
62 if (temp == 0)
63 memory_error_and_abort ("xmalloc");
64 return (temp);
65}
66
9255ee31 67PTR_T
d60d9f65 68xrealloc (pointer, bytes)
1b17e766 69 PTR_T pointer;
9255ee31 70 size_t bytes;
d60d9f65 71{
9255ee31 72 PTR_T temp;
d60d9f65 73
9255ee31 74 temp = pointer ? realloc (pointer, bytes) : malloc (bytes);
d60d9f65
SS
75
76 if (temp == 0)
77 memory_error_and_abort ("xrealloc");
78 return (temp);
79}
This page took 0.835969 seconds and 4 git commands to generate.