mirror of
https://github.com/php/php-src.git
synced 2025-08-18 06:58:55 +02:00
NetWare LibC dlsym works perfectly only thing that each of the extension need to export a symbol with FULL capital prefix.
This commit is contained in:
parent
b2d28102a8
commit
abf7b57160
1 changed files with 0 additions and 18 deletions
|
@ -145,7 +145,6 @@ void php_dl(pval *file, int type, pval *return_value TSRMLS_DC)
|
|||
|
||||
efree(libpath);
|
||||
|
||||
#ifndef NETWARE
|
||||
get_module = (zend_module_entry *(*)(void)) DL_FETCH_SYMBOL(handle, "get_module");
|
||||
|
||||
/*
|
||||
|
@ -156,23 +155,6 @@ void php_dl(pval *file, int type, pval *return_value TSRMLS_DC)
|
|||
|
||||
if (!get_module)
|
||||
get_module = (zend_module_entry *(*)(void)) DL_FETCH_SYMBOL(handle, "_get_module");
|
||||
#else
|
||||
/* NetWare doesn't support two NLMs exporting same symbol */
|
||||
{
|
||||
char symbol_name[64] = "\0";
|
||||
int module_name_length = Z_STRLEN_P(file) - 4; /* '.nlm' is 4 characters; knock it off */
|
||||
|
||||
/* Take the module name (e.g.: 'php_ldap') and append '@get_module' to it */
|
||||
strncpy(symbol_name, Z_STRVAL_P(file), module_name_length);
|
||||
symbol_name[module_name_length] = '\0';
|
||||
strcat(symbol_name, "@");
|
||||
strcat(symbol_name, "get_module");
|
||||
|
||||
get_module = (zend_module_entry *(*)(void)) DL_FETCH_SYMBOL(handle, symbol_name);
|
||||
}
|
||||
/* NetWare doesn't prepend '_' to symbol names; so the corresponding portion of code is also
|
||||
not required for NetWare */
|
||||
#endif
|
||||
|
||||
if (!get_module) {
|
||||
DL_UNLOAD(handle);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue