]> granicus.if.org Git - php/commitdiff
Make GMP use Zend's memory functions
authorStanislav Malyshev <stas@php.net>
Tue, 5 Dec 2000 15:35:20 +0000 (15:35 +0000)
committerStanislav Malyshev <stas@php.net>
Tue, 5 Dec 2000 15:35:20 +0000 (15:35 +0000)
ext/gmp/gmp.c

index 9beb091cacc848853e63c328c7c34b524b4788ad..b7da27e3ab97c56b9b64ac2c65347efed1cdda99 100644 (file)
@@ -99,6 +99,21 @@ static void _php_gmpnum_free(zend_rsrc_list_entry *rsrc);
 #define GMP_ROUND_PLUSINF   1
 #define GMP_ROUND_MINUSINF  2
 
+static void *gmp_emalloc(size_t size)
+{
+       return emalloc(size);
+}
+
+static void *gmp_erealloc(void *ptr, size_t old_size, size_t new_size)
+{
+       return erealloc(ptr, new_size);
+}
+
+static void gmp_efree(void *ptr, size_t size)
+{
+       efree(ptr);
+}
+
 ZEND_MINIT_FUNCTION(gmp)
 {
 /* Remove comments if you have entries in php.ini
@@ -110,6 +125,9 @@ ZEND_MINIT_FUNCTION(gmp)
        REGISTER_LONG_CONSTANT("GMP_ROUND_ZERO", GMP_ROUND_ZERO, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("GMP_ROUND_PLUSINF", GMP_ROUND_PLUSINF, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("GMP_ROUND_MINUSINF", GMP_ROUND_MINUSINF, CONST_CS | CONST_PERSISTENT);
+
+       mp_set_memory_functions(gmp_emalloc, gmp_erealloc, gmp_efree);
+
        return SUCCESS;
 }