]> granicus.if.org Git - php/commitdiff
Integrate allocator code into mbstring.c
authorMoriyoshi Koizumi <moriyoshi@php.net>
Sun, 24 Aug 2003 22:15:49 +0000 (22:15 +0000)
committerMoriyoshi Koizumi <moriyoshi@php.net>
Sun, 24 Aug 2003 22:15:49 +0000 (22:15 +0000)
ext/mbstring/config.m4
ext/mbstring/mbstring.c
ext/mbstring/php_mbfl_allocators.c [deleted file]

index 1639da85786ea2688cfaa4d863e83a9dd84eae45..2da5517c7aa21de132aade699a56d15f9c65ea7a 100644 (file)
@@ -64,7 +64,7 @@ AC_DEFUN([PHP_MBSTRING_SETUP], [
     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
 ])
@@ -175,6 +175,7 @@ AC_DEFUN([PHP_MBSTRING_SETUP_LIBMBFL], [
      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
index 96a20e7bfff51a21bff11f2e94fe97bb9d3667e7..11e6993e4d3411900ee51f50184ad369d20a66e2 100644 (file)
@@ -60,6 +60,8 @@
 #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"
@@ -227,6 +229,53 @@ ZEND_DECLARE_MODULE_GLOBALS(mbstring)
 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 
@@ -663,6 +712,8 @@ static void _php_mb_globals_dtor(zend_mbstring_globals *pglobals TSRMLS_DC)
 /* {{{ 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,
diff --git a/ext/mbstring/php_mbfl_allocators.c b/ext/mbstring/php_mbfl_allocators.c
deleted file mode 100644 (file)
index a19143d..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | 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);
-} 
-