diff options
Diffstat (limited to 'src/daemon/https/lgl/realloc.c')
-rw-r--r-- | src/daemon/https/lgl/realloc.c | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/src/daemon/https/lgl/realloc.c b/src/daemon/https/lgl/realloc.c deleted file mode 100644 index c4103a8d..00000000 --- a/src/daemon/https/lgl/realloc.c +++ /dev/null | |||
@@ -1,87 +0,0 @@ | |||
1 | /* realloc() function that is glibc compatible. | ||
2 | |||
3 | Copyright (C) 1997, 2003, 2004, 2006, 2007 Free Software Foundation, Inc. | ||
4 | |||
5 | This program is free software: you can redistribute it and/or modify | ||
6 | it under the terms of the GNU Lesser General Public License as published by | ||
7 | the Free Software Foundation; either version 2.1 of the License, or | ||
8 | (at your option) any later version. | ||
9 | |||
10 | This program is distributed in the hope that it will be useful, | ||
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | GNU Lesser General Public License for more details. | ||
14 | |||
15 | You should have received a copy of the GNU Lesser General Public License | ||
16 | along with this program. If not, see <http://www.gnu.org/licenses/>. */ | ||
17 | |||
18 | /* written by Jim Meyering and Bruno Haible */ | ||
19 | |||
20 | #include "MHD_config.h" | ||
21 | |||
22 | /* Only the AC_FUNC_REALLOC macro defines 'realloc' already in config.h. */ | ||
23 | #ifdef realloc | ||
24 | # define NEED_REALLOC_GNU 1 | ||
25 | #endif | ||
26 | |||
27 | /* Infer the properties of the system's malloc function. | ||
28 | Only the AC_FUNC_MALLOC macro defines 'malloc' already in config.h. */ | ||
29 | #if GNULIB_MALLOC_GNU && !defined malloc | ||
30 | # define SYSTEM_MALLOC_GLIBC_COMPATIBLE 1 | ||
31 | #endif | ||
32 | |||
33 | /* Below we want to call the system's malloc and realloc. | ||
34 | Undefine the symbols here so that including <stdlib.h> provides a | ||
35 | declaration of malloc(), not of rpl_malloc(), and likewise for realloc. */ | ||
36 | #undef malloc | ||
37 | #undef realloc | ||
38 | |||
39 | /* Specification. */ | ||
40 | #include <stdlib.h> | ||
41 | |||
42 | #include <errno.h> | ||
43 | |||
44 | /* Below we want to call the system's malloc and realloc. | ||
45 | Undefine the symbols, if they were defined by gnulib's <stdlib.h> | ||
46 | replacement. */ | ||
47 | #undef malloc | ||
48 | #undef realloc | ||
49 | |||
50 | /* Change the size of an allocated block of memory P to N bytes, | ||
51 | with error checking. If N is zero, change it to 1. If P is NULL, | ||
52 | use malloc. */ | ||
53 | |||
54 | void * | ||
55 | rpl_realloc (void *p, size_t n) | ||
56 | { | ||
57 | void *result; | ||
58 | |||
59 | #if NEED_REALLOC_GNU | ||
60 | if (n == 0) | ||
61 | { | ||
62 | n = 1; | ||
63 | |||
64 | /* In theory realloc might fail, so don't rely on it to free. */ | ||
65 | free (p); | ||
66 | p = NULL; | ||
67 | } | ||
68 | #endif | ||
69 | |||
70 | if (p == NULL) | ||
71 | { | ||
72 | #if GNULIB_REALLOC_GNU && !NEED_REALLOC_GNU && !SYSTEM_MALLOC_GLIBC_COMPATIBLE | ||
73 | if (n == 0) | ||
74 | n = 1; | ||
75 | #endif | ||
76 | result = malloc (n); | ||
77 | } | ||
78 | else | ||
79 | result = realloc (p, n); | ||
80 | |||
81 | #if !HAVE_REALLOC_POSIX | ||
82 | if (result == NULL) | ||
83 | errno = ENOMEM; | ||
84 | #endif | ||
85 | |||
86 | return result; | ||
87 | } | ||