Annotation of embedaddon/readline/xmalloc.c, revision 1.1
1.1 ! misho 1: /* xmalloc.c -- safe versions of malloc and realloc */
! 2:
! 3: /* Copyright (C) 1991-2009 Free Software Foundation, Inc.
! 4:
! 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.
! 7:
! 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.
! 12:
! 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.
! 17:
! 18: You should have received a copy of the GNU General Public License
! 19: along with Readline. If not, see <http://www.gnu.org/licenses/>.
! 20: */
! 21:
! 22: #define READLINE_LIBRARY
! 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:
! 36: #include "xmalloc.h"
! 37:
! 38: /* **************************************************************** */
! 39: /* */
! 40: /* Memory Allocation and Deallocation. */
! 41: /* */
! 42: /* **************************************************************** */
! 43:
! 44: static void
! 45: memory_error_and_abort (fname)
! 46: char *fname;
! 47: {
! 48: fprintf (stderr, "%s: out of virtual memory\n", fname);
! 49: exit (2);
! 50: }
! 51:
! 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. */
! 55: PTR_T
! 56: xmalloc (bytes)
! 57: size_t bytes;
! 58: {
! 59: PTR_T temp;
! 60:
! 61: temp = malloc (bytes);
! 62: if (temp == 0)
! 63: memory_error_and_abort ("xmalloc");
! 64: return (temp);
! 65: }
! 66:
! 67: PTR_T
! 68: xrealloc (pointer, bytes)
! 69: PTR_T pointer;
! 70: size_t bytes;
! 71: {
! 72: PTR_T temp;
! 73:
! 74: temp = pointer ? realloc (pointer, bytes) : malloc (bytes);
! 75:
! 76: if (temp == 0)
! 77: memory_error_and_abort ("xrealloc");
! 78: return (temp);
! 79: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>