allocate.c

来自「Bison语法分析器」· C语言 代码 · 共 73 行

C
73
字号
/* Allocate and clear storage for bison,   Copyright (C) 1984, 1989 Free Software Foundation, Inc.This file is part of Bison, the GNU Compiler Compiler.Bison is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2, or (at your option)any later version.Bison is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with Bison; see the file COPYING.  If not, write tothe Free Software Foundation, Inc., 59 Temple Place - Suite 330,Boston, MA 02111-1307, USA.  */#include <stdio.h>#include "system.h"#if defined (__STDC__) || defined (_MSC_VER)extern void *calloc ();extern void *realloc ();#elseextern char *calloc ();extern char *realloc ();#endifchar *xmalloc PARAMS((register unsigned));char *xrealloc PARAMS((register char *, register unsigned));extern void done PARAMS((int));extern char *program_name;char *xmalloc (register unsigned n){  register char *block;  /* Avoid uncertainty about what an arg of 0 will do.  */  if (n == 0)    n = 1;  block = calloc (n, 1);  if (block == NULL)    {      fprintf (stderr, _("%s: memory exhausted\n"), program_name);      done (1);    }  return (block);}char *xrealloc (register char *block, register unsigned n){  /* Avoid uncertainty about what an arg of 0 will do.  */  if (n == 0)    n = 1;  block = realloc (block, n);  if (block == NULL)    {      fprintf (stderr, _("%s: memory exhausted\n"), program_name);      done (1);    }  return (block);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?