OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gdb/] [gdb-6.8/] [gdb-6.8.openrisc-2.1/] [readline/] [xmalloc.c] - Diff between revs 24 and 33

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 24 Rev 33
/* xmalloc.c -- safe versions of malloc and realloc */
/* xmalloc.c -- safe versions of malloc and realloc */
 
 
/* Copyright (C) 1991 Free Software Foundation, Inc.
/* Copyright (C) 1991 Free Software Foundation, Inc.
 
 
   This file is part of GNU Readline, a library for reading lines
   This file is part of GNU Readline, a library for reading lines
   of text with interactive input and history editing.
   of text with interactive input and history editing.
 
 
   Readline is free software; you can redistribute it and/or modify it
   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
   under the terms of the GNU General Public License as published by the
   Free Software Foundation; either version 2, or (at your option) any
   Free Software Foundation; either version 2, or (at your option) any
   later version.
   later version.
 
 
   Readline is distributed in the hope that it will be useful, but
   Readline is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   General Public License for more details.
   General Public License for more details.
 
 
   You should have received a copy of the GNU General Public License
   You should have received a copy of the GNU General Public License
   along with Readline; see the file COPYING.  If not, write to the Free
   along with Readline; see the file COPYING.  If not, write to the Free
   Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
   Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
#define READLINE_LIBRARY
#define READLINE_LIBRARY
 
 
#if defined (HAVE_CONFIG_H)
#if defined (HAVE_CONFIG_H)
#include <config.h>
#include <config.h>
#endif
#endif
 
 
#include <stdio.h>
#include <stdio.h>
 
 
#if defined (HAVE_STDLIB_H)
#if defined (HAVE_STDLIB_H)
#  include <stdlib.h>
#  include <stdlib.h>
#else
#else
#  include "ansi_stdlib.h"
#  include "ansi_stdlib.h"
#endif /* HAVE_STDLIB_H */
#endif /* HAVE_STDLIB_H */
 
 
#include "xmalloc.h"
#include "xmalloc.h"
 
 
/* **************************************************************** */
/* **************************************************************** */
/*                                                                  */
/*                                                                  */
/*                 Memory Allocation and Deallocation.              */
/*                 Memory Allocation and Deallocation.              */
/*                                                                  */
/*                                                                  */
/* **************************************************************** */
/* **************************************************************** */
 
 
static void
static void
memory_error_and_abort (fname)
memory_error_and_abort (fname)
     char *fname;
     char *fname;
{
{
  fprintf (stderr, "%s: out of virtual memory\n", fname);
  fprintf (stderr, "%s: out of virtual memory\n", fname);
  exit (2);
  exit (2);
}
}
 
 
/* Return a pointer to free()able block of memory large enough
/* Return a pointer to free()able block of memory large enough
   to hold BYTES number of bytes.  If the memory cannot be allocated,
   to hold BYTES number of bytes.  If the memory cannot be allocated,
   print an error message and abort. */
   print an error message and abort. */
PTR_T
PTR_T
xmalloc (bytes)
xmalloc (bytes)
     size_t bytes;
     size_t bytes;
{
{
  PTR_T temp;
  PTR_T temp;
 
 
  temp = malloc (bytes);
  temp = malloc (bytes);
  if (temp == 0)
  if (temp == 0)
    memory_error_and_abort ("xmalloc");
    memory_error_and_abort ("xmalloc");
  return (temp);
  return (temp);
}
}
 
 
PTR_T
PTR_T
xrealloc (pointer, bytes)
xrealloc (pointer, bytes)
     PTR_T pointer;
     PTR_T pointer;
     size_t bytes;
     size_t bytes;
{
{
  PTR_T temp;
  PTR_T temp;
 
 
  temp = pointer ? realloc (pointer, bytes) : malloc (bytes);
  temp = pointer ? realloc (pointer, bytes) : malloc (bytes);
 
 
  if (temp == 0)
  if (temp == 0)
    memory_error_and_abort ("xrealloc");
    memory_error_and_abort ("xrealloc");
  return (temp);
  return (temp);
}
}
 
 
/* Use this as the function to call when adding unwind protects so we
/* Use this as the function to call when adding unwind protects so we
   don't need to know what free() returns. */
   don't need to know what free() returns. */
void
void
xfree (string)
xfree (string)
     PTR_T string;
     PTR_T string;
{
{
  if (string)
  if (string)
    free (string);
    free (string);
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.