From fcf0afce176ead51d7012b897ad030e870de631b Mon Sep 17 00:00:00 2001 From: Zeev Suraski Date: Wed, 29 Mar 2000 19:26:34 +0000 Subject: *** empty log message *** --- Zend/zend_extensions.c | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) (limited to 'Zend/zend_extensions.c') 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 } -- cgit v1.2.1