fi
PHP_MBSTRING_ADD_SOURCES([
- mbstring.c php_unicode.c mb_gpc.c php_mbfl_allocators.c
+ mbstring.c php_unicode.c mb_gpc.c
])
fi
])
libmbfl/mbfl/mbfl_language.c
libmbfl/mbfl/mbfl_memory_device.c
libmbfl/mbfl/mbfl_string.c
+ libmbfl/mbfl/mbfl_allocators.c
libmbfl/nls/nls_de.c
libmbfl/nls/nls_en.c
libmbfl/nls/nls_ja.c
#include "main/php_output.h"
#include "ext/standard/info.h"
+#include "mbfl/mbfl_allocators.h"
+
#include "php_variables.h"
#include "php_globals.h"
#include "rfc1867.h"
ZEND_GET_MODULE(mbstring)
#endif
+/* {{{ allocators */
+static void *_php_mb_allocators_malloc(unsigned int sz)
+{
+ return emalloc(sz);
+}
+
+static void *_php_mb_allocators_realloc(void *ptr, unsigned int sz)
+{
+ return erealloc(ptr, sz);
+}
+
+static void *_php_mb_allocators_calloc(unsigned int nelems, unsigned int szelem)
+{
+ return ecalloc(nelems, szelem);
+}
+
+static void _php_mb_allocators_free(void *ptr)
+{
+ efree(ptr);
+}
+
+static void *_php_mb_allocators_pmalloc(unsigned int sz)
+{
+ return pemalloc(sz, 1);
+}
+
+static void *_php_mb_allocators_prealloc(void *ptr, unsigned int sz)
+{
+ return perealloc(ptr, sz, 1);
+}
+
+static void _php_mb_allocators_pfree(void *ptr)
+{
+ pefree(ptr, 1);
+}
+
+static mbfl_allocators _php_mb_allocators = {
+ _php_mb_allocators_malloc,
+ _php_mb_allocators_realloc,
+ _php_mb_allocators_calloc,
+ _php_mb_allocators_free,
+ _php_mb_allocators_pmalloc,
+ _php_mb_allocators_prealloc,
+ _php_mb_allocators_pfree
+};
+/* }}} */
+
/* {{{ static int php_mb_parse_encoding_list()
* Return 0 if input contains any illegal encoding, otherwise 1.
* Even if any illegal encoding is detected the result may contain a list
/* {{{ PHP_MINIT_FUNCTION(mbstring) */
PHP_MINIT_FUNCTION(mbstring)
{
+ __mbfl_allocators = &_php_mb_allocators;
+
#ifdef ZTS
ts_allocate_id(&mbstring_globals_id, sizeof(zend_mbstring_globals),
(ts_allocate_ctor) _php_mb_globals_ctor,
+++ /dev/null
-/*
- +----------------------------------------------------------------------+
- | PHP Version 4 |
- +----------------------------------------------------------------------+
- | Copyright (c) 2001 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 2.02 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available at through the world-wide-web at |
- | http://www.php.net/license/2_02.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Author: Moriyoshi Koizumi <moriyoshi@php.net> |
- | Rui Hirokawa <hirokawa@php.net> |
- +----------------------------------------------------------------------+
- */
-
-/* $Id$ */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "zend_API.h"
-
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-
-#ifdef HAVE_MEMORY_H
-#include <memory.h>
-#endif
-
-#ifdef HAVE_STRING_H
-#include <string.h>
-#endif
-
-#ifdef HAVE_STRINGS_H
-#include <strings.h>
-#endif
-
-#ifdef HAVE_STDDEF_H
-#include <stddef.h>
-#endif
-
-#include "mbfl_allocators.h"
-
-static void *__php__malloc(unsigned int);
-static void *__php__realloc(void *, unsigned int);
-static void *__php__calloc(unsigned int, unsigned int);
-static void __php__free(void *);
-
-static mbfl_allocators php_allocators = {
- __php__malloc,
- __php__realloc,
- __php__calloc,
- __php__free,
- __php__malloc,
- __php__realloc,
- __php__free
-};
-
-mbfl_allocators *__mbfl_allocators = &php_allocators;
-
-static void *__php__malloc(unsigned int sz)
-{
- return emalloc(sz);
-}
-
-static void *__php__realloc(void *ptr, unsigned int sz)
-{
- return erealloc(ptr, sz);
-}
-
-static void *__php__calloc(unsigned int nelems, unsigned int szelem)
-{
- return ecalloc(nelems, szelem);
-}
-
-static void __php__free(void *ptr)
-{
- efree(ptr);
-}
-