BSD 4_3_Net_2 development
[unix-history] / usr / src / usr.bin / gas / xrealloc.c
CommitLineData
192ea830
C
1/* xrealloc.c -new memory or bust-
2 Copyright (C) 1987 Free Software Foundation, Inc.
3
4This file is part of GAS, the GNU Assembler.
5
6GAS is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 1, or (at your option)
9any later version.
10
11GAS is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with GAS; see the file COPYING. If not, write to
18the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
19
20
21/*
22
23NAME
24 xrealloc () - get more memory or bust
25INDEX
26 xrealloc () uses realloc ()
27SYNOPSIS
28 char *my_memory;
29
30 my_memory = xrealloc (my_memory, 42);
31 / * my_memory gets (perhaps new) address of 42 chars * /
32
33DESCRIPTION
34
35 Use xrealloc () as an "error-free" realloc ().It does almost the same
36 job. When it cannot honour your request for memory it BOMBS your
37 program with a "virtual memory exceeded" message. Realloc() returns
38 NULL and does not bomb your program.
39
40SEE ALSO
41 realloc ()
42*/
43
44#ifdef USG
45#include <malloc.h>
46#endif
47
48char *
49xrealloc (ptr, n)
50register char *ptr;
51long n;
52{
53 char *realloc ();
54 void error();
55
56 if ((ptr = realloc (ptr, (unsigned)n)) == 0)
57 error ("virtual memory exceeded");
58 return (ptr);
59}
60
61/* end: xrealloc.c */