kernel - Fix races created by a comedy of circumstansces (3)
[dragonfly.git] / contrib / gmp / mp_set_fns.c
blob3d2aaf3eca5e30943be1b8a1d3f3876bc43e22fc
1 /* mp_set_memory_functions -- Set the allocate, reallocate, and free functions
2 for use by the mp package.
4 Copyright 1991, 1993, 1994, 2000, 2001 Free Software Foundation, Inc.
6 This file is part of the GNU MP Library.
8 The GNU MP Library is free software; you can redistribute it and/or modify
9 it under the terms of the GNU Lesser General Public License as published by
10 the Free Software Foundation; either version 3 of the License, or (at your
11 option) any later version.
13 The GNU MP Library is distributed in the hope that it will be useful, but
14 WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
16 License for more details.
18 You should have received a copy of the GNU Lesser General Public License
19 along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
21 #include "gmp.h"
22 #include "gmp-impl.h"
24 void
25 mp_set_memory_functions (void *(*alloc_func) (size_t),
26 void *(*realloc_func) (void *, size_t, size_t),
27 void (*free_func) (void *, size_t)) __GMP_NOTHROW
29 if (alloc_func == 0)
30 alloc_func = __gmp_default_allocate;
31 if (realloc_func == 0)
32 realloc_func = __gmp_default_reallocate;
33 if (free_func == 0)
34 free_func = __gmp_default_free;
36 __gmp_allocate_func = alloc_func;
37 __gmp_reallocate_func = realloc_func;
38 __gmp_free_func = free_func;