1 /* Memory allocation routines.
3 Copyright (C) 1991 Free Software Foundation, Inc.
5 This file is part of the GNU MP Library.
7 The GNU MP Library is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2, or (at your option)
12 The GNU MP Library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with the GNU MP Library; see the file COPYING. If not, write to
19 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
31 void * (*_mp_allocate_func) (size_t) = _mp_default_allocate;
32 void * (*_mp_reallocate_func) (void *, size_t, size_t)
33 = _mp_default_reallocate;
34 void (*_mp_free_func) (void *, size_t) = _mp_default_free;
36 void * (*_mp_allocate_func) () = _mp_default_allocate;
37 void * (*_mp_reallocate_func) () = _mp_default_reallocate;
38 void (*_mp_free_func) () = _mp_default_free;
41 /* Default allocation functions. In case of failure to allocate/reallocate
42 an error message is written to stderr and the program aborts. */
46 _mp_default_allocate (size_t size)
48 _mp_default_allocate (size)
57 perror ("cannot allocate in libmp");
66 _mp_default_reallocate (void *oldptr, size_t old_size, size_t new_size)
68 _mp_default_reallocate (oldptr, old_size, new_size)
76 ret = realloc (oldptr, new_size);
79 perror ("cannot allocate in libmp");
88 _mp_default_free (void *blk_ptr, size_t blk_size)
90 _mp_default_free (blk_ptr, blk_size)