1 /* Memory allocation routines.
3 Copyright (C) 1991, 1993, 1994 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 Library General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or (at your
10 option) any later version.
12 The GNU MP Library is distributed in the hope that it will be useful, but
13 WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
15 License for more details.
17 You should have received a copy of the GNU Library General Public License
18 along with the GNU MP Library; see the file COPYING.LIB. If not, write to
19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
20 MA 02111-1307, USA. */
33 void * (*_mp_allocate_func) (size_t) = _mp_default_allocate;
34 void * (*_mp_reallocate_func) (void *, size_t, size_t)
35 = _mp_default_reallocate;
36 void (*_mp_free_func) (void *, size_t) = _mp_default_free;
38 void * (*_mp_allocate_func) () = _mp_default_allocate;
39 void * (*_mp_reallocate_func) () = _mp_default_reallocate;
40 void (*_mp_free_func) () = _mp_default_free;
43 /* Default allocation functions. In case of failure to allocate/reallocate
44 an error message is written to stderr and the program aborts. */
48 _mp_default_allocate (size_t size)
50 _mp_default_allocate (size)
59 perror ("cannot allocate in gmp");
68 _mp_default_reallocate (void *oldptr, unused size_t old_size, size_t new_size)
70 _mp_default_reallocate (oldptr, old_size, new_size)
78 ret = realloc (oldptr, new_size);
81 perror ("cannot allocate in gmp");
90 _mp_default_free (void *blk_ptr, unused size_t blk_size)
92 _mp_default_free (blk_ptr, blk_size)