diff options
| author | Zeev Suraski <zeev@php.net> | 2000-03-29 19:26:34 +0000 |
|---|---|---|
| committer | Zeev Suraski <zeev@php.net> | 2000-03-29 19:26:34 +0000 |
| commit | fcf0afce176ead51d7012b897ad030e870de631b (patch) | |
| tree | 575ce40bdb01797f53f39a469d5a223ed0b49bdf /Zend/zend_extensions.c | |
| parent | 6c8f9bf3b499f481062b02f7039b07062bb6644c (diff) | |
| download | php-git-fcf0afce176ead51d7012b897ad030e870de631b.tar.gz | |
*** empty log message ***
Diffstat (limited to 'Zend/zend_extensions.c')
| -rw-r--r-- | Zend/zend_extensions.c | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/Zend/zend_extensions.c b/Zend/zend_extensions.c index 51264b3c8e..50b3dd47e5 100644 --- a/Zend/zend_extensions.c +++ b/Zend/zend_extensions.c @@ -44,7 +44,7 @@ int zend_load_extension(char *path) { #if ZEND_EXTENSIONS_SUPPORT DL_HANDLE handle; - zend_extension extension, *new_extension; + zend_extension *new_extension; zend_extension_version_info *extension_version_info; handle = DL_LOAD(path); @@ -106,21 +106,30 @@ int zend_load_extension(char *path) return FAILURE; } } + return zend_register_extension(new_extension, handle); +#else + fprintf(stderr, "Extensions are not supported on this platform.\n"); + return FAILURE; +#endif +} + + +int zend_register_extension(zend_extension *new_extension, DL_HANDLE handle) +{ + zend_extension extension; + extension = *new_extension; extension.handle = handle; zend_llist_add_element(&zend_extensions, &extension); + zend_append_version_info(&extension); /*fprintf(stderr, "Loaded %s, version %s\n", extension.name, extension.version);*/ - zend_append_version_info(&extension); return SUCCESS; -#else - fprintf(stderr, "Extensions are not supported on this platform.\n"); - return FAILURE; -#endif } + static void zend_extension_shutdown(zend_extension *extension) { #if ZEND_EXTENSIONS_SUPPORT @@ -141,7 +150,9 @@ void zend_shutdown_extensions() void zend_extension_dtor(zend_extension *extension) { #if ZEND_EXTENSIONS_SUPPORT - DL_UNLOAD(extension->handle); + if (extension->handle) { + DL_UNLOAD(extension->handle); + } #endif } |
