|
|
1.1 ! root 1: /* Allocate and clear storage for bison, ! 2: Copyright (C) 1984, 1989 Free Software Foundation, Inc. ! 3: ! 4: This file is part of Bison, the GNU Compiler Compiler. ! 5: ! 6: Bison is free software; you can redistribute it and/or modify ! 7: it under the terms of the GNU General Public License as published by ! 8: the Free Software Foundation; either version 2, or (at your option) ! 9: any later version. ! 10: ! 11: Bison is distributed in the hope that it will be useful, ! 12: but WITHOUT ANY WARRANTY; without even the implied warranty of ! 13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! 14: GNU General Public License for more details. ! 15: ! 16: You should have received a copy of the GNU General Public License ! 17: along with Bison; see the file COPYING. If not, write to ! 18: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ! 19: ! 20: ! 21: #include <stdio.h> ! 22: ! 23: extern char *calloc (); ! 24: extern char *realloc (); ! 25: extern void done (); ! 26: ! 27: extern char *program_name; ! 28: ! 29: char * ! 30: xmalloc (n) ! 31: register unsigned n; ! 32: { ! 33: register char *block; ! 34: ! 35: /* Avoid uncertainty about what an arg of 0 will do. */ ! 36: if (n == 0) ! 37: n = 1; ! 38: block = calloc (n, 1); ! 39: if (block == NULL) ! 40: { ! 41: fprintf (stderr, "%s: memory exhausted\n", program_name); ! 42: done (1); ! 43: } ! 44: ! 45: return (block); ! 46: } ! 47: ! 48: char * ! 49: xrealloc (block, n) ! 50: register char *block; ! 51: register unsigned n; ! 52: { ! 53: /* Avoid uncertainty about what an arg of 0 will do. */ ! 54: if (n == 0) ! 55: n = 1; ! 56: block = realloc (block, n); ! 57: if (block == NULL) ! 58: { ! 59: fprintf (stderr, "%s: memory exhausted\n", program_name); ! 60: done (1); ! 61: } ! 62: ! 63: return (block); ! 64: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.