blob: 5d077d03e69500179cd8b1e079a6a77fedf4d43a [file] [log] [blame]
The Android Open Source Project593c3652008-10-21 07:00:00 -07001/* 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}