1/* Copyright (C) 2000, 2002 Free Software Foundation, Inc. 2 3 This program is Open Source software; you can redistribute it and/or 4 modify it under the terms of the Open Software License version 1.0 as 5 published by the Open Source Initiative. 6 7 You should have received a copy of the Open Software License along 8 with this program; if not, you may obtain a copy of the Open Software 9 License version 1.0 from http://www.opensource.org/licenses/osl.php or 10 by writing the Open Source Initiative c/o Lawrence Rosen, Esq., 11 3001 King Ranch Road, Ukiah, CA 95482. */ 12 13#ifdef HAVE_CONFIG_H 14# include <config.h> 15#endif 16 17#include <error.h> 18//#include <libintl.h> 19#include <stddef.h> 20#include <stdlib.h> 21#include <sys/types.h> 22#include "system.h" 23 24#ifndef _ 25# define _(str) gettext (str) 26#endif 27 28 29/* Allocate N bytes of memory dynamically, with error checking. */ 30void * 31xmalloc (n) 32 size_t n; 33{ 34 void *p; 35 36 p = malloc (n); 37 if (p == NULL) 38 error (EXIT_FAILURE, 0, _("memory exhausted")); 39 return p; 40} 41 42 43/* Allocate memory for N elements of S bytes, with error checking. */ 44void * 45xcalloc (n, s) 46 size_t n, s; 47{ 48 void *p; 49 50 p = calloc (n, s); 51 if (p == NULL) 52 error (EXIT_FAILURE, 0, _("memory exhausted")); 53 return p; 54} 55 56 57/* Change the size of an allocated block of memory P to N bytes, 58 with error checking. */ 59void * 60xrealloc (p, n) 61 void *p; 62 size_t n; 63{ 64 p = realloc (p, n); 65 if (p == NULL) 66 error (EXIT_FAILURE, 0, _("memory exhausted")); 67 return p; 68} 69