~ubuntu-branches/ubuntu/utopic/ecasound2.2/utopic

« back to all changes in this revision

Viewing changes to readline-4.0/xmalloc.c

  • Committer: Bazaar Package Importer
  • Author(s): Junichi Uekawa
  • Date: 2008-03-23 21:42:49 UTC
  • mfrom: (3.1.6 hardy)
  • Revision ID: james.westby@ubuntu.com-20080323214249-evlfv3y1o8q747la
Tags: 2.4.6.1-2
* Bug fix: "FTBFS with GCC 4.3: missing #includes", thanks to Martin
  Michlmayr (Closes: #454890).
- 13_gcc4: updated

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* xmalloc.c -- safe versions of malloc and realloc */
2
 
 
3
 
/* Copyright (C) 1991 Free Software Foundation, Inc.
4
 
 
5
 
   This file is part of GNU Readline, a library for reading lines
6
 
   of text with interactive input and history editing.
7
 
 
8
 
   Readline is free software; you can redistribute it and/or modify it
9
 
   under the terms of the GNU General Public License as published by the
10
 
   Free Software Foundation; either version 1, or (at your option) any
11
 
   later version.
12
 
 
13
 
   Readline is distributed in the hope that it will be useful, but
14
 
   WITHOUT ANY WARRANTY; without even the implied warranty of
15
 
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16
 
   General Public License for more details.
17
 
 
18
 
   You should have received a copy of the GNU General Public License
19
 
   along with Readline; see the file COPYING.  If not, write to the Free
20
 
   Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
21
 
 
22
 
#if defined (HAVE_CONFIG_H)
23
 
#include <config.h>
24
 
#endif
25
 
 
26
 
#include <stdio.h>
27
 
 
28
 
#if defined (HAVE_STDLIB_H)
29
 
#  include <stdlib.h>
30
 
#else
31
 
#  include "ansi_stdlib.h"
32
 
#endif /* HAVE_STDLIB_H */
33
 
 
34
 
static void memory_error_and_abort ();
35
 
 
36
 
/* **************************************************************** */
37
 
/*                                                                  */
38
 
/*                 Memory Allocation and Deallocation.              */
39
 
/*                                                                  */
40
 
/* **************************************************************** */
41
 
 
42
 
/* Return a pointer to free()able block of memory large enough
43
 
   to hold BYTES number of bytes.  If the memory cannot be allocated,
44
 
   print an error message and abort. */
45
 
char *
46
 
xmalloc (bytes)
47
 
     int bytes;
48
 
{
49
 
  char *temp;
50
 
 
51
 
  temp = (char *)malloc (bytes);
52
 
  if (temp == 0)
53
 
    memory_error_and_abort ("xmalloc");
54
 
  return (temp);
55
 
}
56
 
 
57
 
char *
58
 
xrealloc (pointer, bytes)
59
 
     char *pointer;
60
 
     int bytes;
61
 
{
62
 
  char *temp;
63
 
 
64
 
  temp = pointer ? (char *)realloc (pointer, bytes) : (char *)malloc (bytes);
65
 
 
66
 
  if (temp == 0)
67
 
    memory_error_and_abort ("xrealloc");
68
 
  return (temp);
69
 
}
70
 
 
71
 
static void
72
 
memory_error_and_abort (fname)
73
 
     char *fname;
74
 
{
75
 
  fprintf (stderr, "%s: out of virtual memory\n", fname);
76
 
  exit (2);
77
 
}
78
 
 
79
 
/* Use this as the function to call when adding unwind protects so we
80
 
   don't need to know what free() returns. */
81
 
void
82
 
xfree (string)
83
 
     char *string;
84
 
{
85
 
  if (string)
86
 
    free (string);
87
 
}