xmalloc.c

来自「android-w.song.android.widget」· C语言 代码 · 共 95 行

C
95
字号
/* xmalloc.c -- safe versions of malloc and realloc *//* Copyright (C) 1991-2003 Free Software Foundation, Inc.   This file is part of GNU 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 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.   You should have received a copy of the GNU General Public License   along with Readline.  If not, see <http://www.gnu.org/licenses/>.*/#if defined (HAVE_CONFIG_H)#include <config.h>#endif#include <stdio.h>#if defined (HAVE_STDLIB_H)#  include <stdlib.h>#else#  include "ansi_stdlib.h"#endif /* HAVE_STDLIB_H *//* Generic pointer type. */#ifndef PTR_T#if defined (__STDC__)#  define PTR_T void *#else#  define PTR_T char *#endif#endif /* PTR_T *//* **************************************************************** *//*								    *//*		   Memory Allocation and Deallocation.		    *//*								    *//* **************************************************************** */static voidmemory_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. */PTR_Txmalloc (bytes)     size_t bytes;{  PTR_T temp;  temp = malloc (bytes);  if (temp == 0)    memory_error_and_abort ("xmalloc");  return (temp);}PTR_Txrealloc (pointer, bytes)     PTR_T pointer;     size_t bytes;{  PTR_T temp;  temp = pointer ? realloc (pointer, bytes) : malloc (bytes);  if (temp == 0)    memory_error_and_abort ("xrealloc");  return (temp);}voidxfree (string)     PTR_T string;{  if (string)    free (string);}

⌨️ 快捷键说明

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