diff options
author | Sam Ruby <rubys@php.net> | 1999-12-07 20:49:01 +0000 |
---|---|---|
committer | Sam Ruby <rubys@php.net> | 1999-12-07 20:49:01 +0000 |
commit | 8abf7246780903b2b3084948dbe83e3b967d84bb (patch) | |
tree | a5e1168d097a3fb52b9e77b2f90e9fc2242aa28f /main | |
parent | 6068b5bdacc76296299ea9a3c9fa63049780d961 (diff) | |
download | php-git-8abf7246780903b2b3084948dbe83e3b967d84bb.tar.gz |
Provide basis for shared libraries/dlls to contain internal extensions
Diffstat (limited to 'main')
-rw-r--r-- | main/SAPI.c | 4 | ||||
-rw-r--r-- | main/internal_functions.c.in | 49 | ||||
-rw-r--r-- | main/internal_functions_win32.c | 49 | ||||
-rw-r--r-- | main/main.c | 52 | ||||
-rw-r--r-- | main/php.h | 6 |
5 files changed, 75 insertions, 85 deletions
diff --git a/main/SAPI.c b/main/SAPI.c index 01be19857e..b88b8ebf8c 100644 --- a/main/SAPI.c +++ b/main/SAPI.c @@ -76,12 +76,12 @@ SAPI_API void sapi_startup(sapi_module_struct *sf) sapi_globals_id = ts_allocate_id(sizeof(sapi_globals_struct), NULL, NULL); #endif - module_global_startup_modules(); + php_global_startup_internal_extensions(); } SAPI_API void sapi_shutdown(void) { - module_global_shutdown_modules(); + php_global_shutdown_internal_extensions(); zend_hash_destroy(&known_post_content_types); } diff --git a/main/internal_functions.c.in b/main/internal_functions.c.in index 7b3020fa3d..da89aaab04 100644 --- a/main/internal_functions.c.in +++ b/main/internal_functions.c.in @@ -21,6 +21,7 @@ /* $Id$ */ #include "php.h" +#include "main.h" #include "modules.h" #include "internal_functions_registry.h" #include "zend_compile.h" @@ -38,7 +39,7 @@ unsigned char first_arg_allow_ref[] = { 1, BYREF_ALLOW }; unsigned char second_arg_force_ref[] = { 2, BYREF_NONE, BYREF_FORCE }; unsigned char second_arg_allow_ref[] = { 2, BYREF_NONE, BYREF_ALLOW }; -zend_module_entry *php3_builtin_modules[] = { +zend_module_entry *php_builtin_extensions[] = { phpext_regex_ptr, phpext_dl_ptr, phpext_file_ptr, @@ -59,52 +60,22 @@ zend_module_entry *php3_builtin_modules[] = { @EXT_MODULE_PTRS@ }; +#define EXTCOUNT (sizeof(php_builtin_extensions)/sizeof(zend_module_entry *)) + -int module_startup_modules(void) +int php_startup_internal_extensions(void) { - zend_module_entry **ptr = php3_builtin_modules, **end = ptr+(sizeof(php3_builtin_modules)/sizeof(zend_module_entry *)); - - while (ptr < end) { - if (*ptr) { - if (zend_startup_module(*ptr)==FAILURE) { - return FAILURE; - } - } - ptr++; - } - return SUCCESS; + return php_startup_extensions(php_builtin_extensions, EXTCOUNT); } -int module_global_startup_modules(void) +int php_global_startup_internal_extensions(void) { - zend_module_entry **ptr = php3_builtin_modules, **end = ptr+(sizeof(php3_builtin_modules)/sizeof(zend_module_entry *)); - - while (ptr < end) { - if (*ptr) { - if ((*ptr)->global_startup_func && - (*ptr)->global_startup_func()==FAILURE) { - return FAILURE; - } - } - ptr++; - } - return SUCCESS; + return php_global_startup_extensions(php_builtin_extensions, EXTCOUNT); } -int module_global_shutdown_modules(void) +int php_global_shutdown_internal_extensions(void) { - zend_module_entry **ptr = php3_builtin_modules, **end = ptr+(sizeof(php3_builtin_modules)/sizeof(zend_module_entry *)); - - while (ptr < end) { - if (*ptr) { - if ((*ptr)->global_shutdown_func && - (*ptr)->global_shutdown_func()==FAILURE) { - return FAILURE; - } - } - ptr++; - } - return SUCCESS; + return php_global_shutdown_extensions(php_builtin_extensions, EXTCOUNT); } /* diff --git a/main/internal_functions_win32.c b/main/internal_functions_win32.c index c93de106b5..b4666e8703 100644 --- a/main/internal_functions_win32.c +++ b/main/internal_functions_win32.c @@ -22,6 +22,7 @@ #include "php.h" +#include "main.h" #include "modules.h" #include "internal_functions_registry.h" #include "zend_compile.h" @@ -62,7 +63,7 @@ unsigned char first_arg_allow_ref[] = { 1, BYREF_ALLOW }; unsigned char second_arg_force_ref[] = { 2, BYREF_NONE, BYREF_FORCE }; unsigned char second_arg_allow_ref[] = { 2, BYREF_NONE, BYREF_ALLOW }; -zend_module_entry *php3_builtin_modules[] = { +zend_module_entry *php_builtin_extensions[] = { phpext_dl_ptr, phpext_file_ptr, phpext_fsock_ptr, @@ -89,52 +90,22 @@ zend_module_entry *php3_builtin_modules[] = { phpext_assert_ptr }; +#define EXTCOUNT (sizeof(php_builtin_extensions)/sizeof(zend_module_entry *)) + -int module_startup_modules(void) +int php_startup_internal_extensions(void) { - zend_module_entry **ptr = php3_builtin_modules, **end = ptr+(sizeof(php3_builtin_modules)/sizeof(zend_module_entry *)); - - while (ptr < end) { - if (*ptr) { - if (zend_startup_module(*ptr)==FAILURE) { - return FAILURE; - } - } - ptr++; - } - return SUCCESS; + return php_startup_extensions(php_builtin_extensions, EXTCOUNT); } -int module_global_startup_modules(void) +int php_global_startup_internal_extensions(void) { - zend_module_entry **ptr = php3_builtin_modules, **end = ptr+(sizeof(php3_builtin_modules)/sizeof(zend_module_entry *)); - - while (ptr < end) { - if (*ptr) { - if ((*ptr)->global_startup_func && - (*ptr)->global_startup_func()==FAILURE) { - return FAILURE; - } - } - ptr++; - } - return SUCCESS; + return php_global_startup_extensions(php_builtin_extensions, EXTCOUNT); } -int module_global_shutdown_modules(void) +int php_global_shutdown_internal_extensions(void) { - zend_module_entry **ptr = php3_builtin_modules, **end = ptr+(sizeof(php3_builtin_modules)/sizeof(zend_module_entry *)); - - while (ptr < end) { - if (*ptr) { - if ((*ptr)->global_shutdown_func && - (*ptr)->global_shutdown_func()==FAILURE) { - return FAILURE; - } - } - ptr++; - } - return SUCCESS; + return php_global_shutdown_extensions(php_builtin_extensions, EXTCOUNT); } diff --git a/main/main.c b/main/main.c index 08674d470a..f21d3563e7 100644 --- a/main/main.c +++ b/main/main.c @@ -854,6 +854,54 @@ static void core_globals_ctor(php_core_globals *core_globals) #endif +int php_startup_extensions(zend_module_entry **ptr, int count) +{ + zend_module_entry **end = ptr+count; + + while (ptr < end) { + if (*ptr) { + if (zend_startup_module(*ptr)==FAILURE) { + return FAILURE; + } + } + ptr++; + } + return SUCCESS; +} + +int php_global_startup_extensions(zend_module_entry **ptr, int count) +{ + zend_module_entry **end = ptr+count; + + while (ptr < end) { + if (*ptr) { + if ((*ptr)->global_startup_func && + (*ptr)->global_startup_func()==FAILURE) { + return FAILURE; + } + } + ptr++; + } + return SUCCESS; +} + +int php_global_shutdown_extensions(zend_module_entry **ptr, int count) +{ + zend_module_entry **end = ptr+count; + + while (ptr < end) { + if (*ptr) { + if ((*ptr)->global_shutdown_func && + (*ptr)->global_shutdown_func()==FAILURE) { + return FAILURE; + } + } + ptr++; + } + return SUCCESS; +} + + int php_module_startup(sapi_module_struct *sf) { zend_utility_functions zuf; @@ -934,8 +982,8 @@ int php_module_startup(sapi_module_struct *sf) zend_set_utility_values(&zuv); php_startup_SAPI_content_types(); - if (module_startup_modules() == FAILURE) { - php_printf("Unable to start modules\n"); + if (php_startup_internal_extensions() == FAILURE) { + php_printf("Unable to start builtin modules\n"); return FAILURE; } module_initialized = 1; diff --git a/main/php.h b/main/php.h index 47f0f367c8..6caa8c445c 100644 --- a/main/php.h +++ b/main/php.h @@ -312,9 +312,9 @@ extern void html_putc(char c); #define phpin zendin /* functions */ -int module_startup_modules(void); -int module_global_startup_modules(void); -int module_global_shutdown_modules(void); +int php_startup_internal_extensions(void); +int php_global_startup_internal_extensions(void); +int php_global_shutdown_internal_extensions(void); int mergesort(void *base, size_t nmemb, register size_t size, int (*cmp) (const void *, const void *)); |