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);
|
efree(libpath);
|
||||||
|
|
||||||
#ifndef NETWARE
|
|
||||||
get_module = (zend_module_entry *(*)(void)) DL_FETCH_SYMBOL(handle, "get_module");
|
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)
|
if (!get_module)
|
||||||
get_module = (zend_module_entry *(*)(void)) DL_FETCH_SYMBOL(handle, "_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) {
|
if (!get_module) {
|
||||||
DL_UNLOAD(handle);
|
DL_UNLOAD(handle);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue