1 /*
2 * "streamable kanji code filter and converter"
3 * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved.
4 *
5 * LICENSE NOTICES
6 *
7 * This file is part of "streamable kanji code filter and converter",
8 * which is distributed under the terms of GNU Lesser General Public
9 * License (version 2) as published by the Free Software Foundation.
10 *
11 * This software is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with "streamable kanji code filter and converter";
18 * if not, write to the Free Software Foundation, Inc., 59 Temple Place,
19 * Suite 330, Boston, MA 02111-1307 USA
20 *
21 * The author of this file:
22 *
23 */
24 /*
25 * The source code included in this files was separated from mbfilter.c
26 * by Moriyoshi Koizumi <moriyoshi@php.net> on 20 Dec 2002. The file
27 * mbfilter.c is included in this package .
28 *
29 */
30
31 #ifdef HAVE_CONFIG_H
32 #include "config.h"
33 #endif
34
35 #ifdef HAVE_STDLIB_H
36 #include <stdlib.h>
37 #endif
38
39 #ifdef HAVE_MEMORY_H
40 #include <memory.h>
41 #endif
42
43 #ifdef HAVE_STRING_H
44 #include <string.h>
45 #endif
46
47 #ifdef HAVE_STRINGS_H
48 #include <strings.h>
49 #endif
50
51 #ifdef HAVE_STDDEF_H
52 #include <stddef.h>
53 #endif
54
55 #include "mbfl_allocators.h"
56
57 static void *__mbfl__malloc(unsigned int);
58 static void *__mbfl__realloc(void *, unsigned int);
59 static void *__mbfl__calloc(unsigned int, unsigned int);
60 static void __mbfl__free(void *);
61
62 static mbfl_allocators default_allocators = {
63 __mbfl__malloc,
64 __mbfl__realloc,
65 __mbfl__calloc,
66 __mbfl__free,
67 __mbfl__malloc,
68 __mbfl__realloc,
69 __mbfl__free
70 };
71
72 mbfl_allocators *__mbfl_allocators = &default_allocators;
73
__mbfl__malloc(unsigned int sz)74 static void *__mbfl__malloc(unsigned int sz)
75 {
76 return malloc(sz);
77 }
78
__mbfl__realloc(void * ptr,unsigned int sz)79 static void *__mbfl__realloc(void *ptr, unsigned int sz)
80 {
81 return realloc(ptr, sz);
82 }
83
__mbfl__calloc(unsigned int nelems,unsigned int szelem)84 static void *__mbfl__calloc(unsigned int nelems, unsigned int szelem)
85 {
86 return calloc(nelems, szelem);
87 }
88
__mbfl__free(void * ptr)89 static void __mbfl__free(void *ptr)
90 {
91 free(ptr);
92 }
93
94