mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
- Fix function_exists()
This commit is contained in:
parent
5939b3d702
commit
1fe57c9505
2 changed files with 18 additions and 8 deletions
|
@ -142,6 +142,10 @@ ZEND_API int zend_set_hash_symbol(zval *symbol, char *name, int name_length,
|
|||
return_value->type = IS_RESOURCE;\
|
||||
return_value->value.lval = l; \
|
||||
}
|
||||
#define RETVAL_BOOL(b) { \
|
||||
return_value->type = IS_BOOL; \
|
||||
return_value->value.lval = b; \
|
||||
}
|
||||
#define RETVAL_LONG(l) { \
|
||||
return_value->type = IS_LONG; \
|
||||
return_value->value.lval = l; \
|
||||
|
@ -171,6 +175,13 @@ ZEND_API int zend_set_hash_symbol(zval *symbol, char *name, int name_length,
|
|||
return_value->value.lval = l; \
|
||||
return; \
|
||||
}
|
||||
|
||||
#define RETURN_BOOL(b) { \
|
||||
return_value->type = IS_BOOL; \
|
||||
return_value->value.lval = b; \
|
||||
return; \
|
||||
}
|
||||
|
||||
#define RETURN_LONG(l) { \
|
||||
return_value->type = IS_LONG; \
|
||||
return_value->value.lval = l; \
|
||||
|
|
|
@ -485,7 +485,8 @@ ZEND_FUNCTION(function_exists)
|
|||
{
|
||||
zval **function_name;
|
||||
char *lcname;
|
||||
CLS_FETCH();
|
||||
int retval;
|
||||
ELS_FETCH();
|
||||
|
||||
if (ZEND_NUM_ARGS()!=1 || zend_get_parameters_ex(1, &function_name)==FAILURE) {
|
||||
WRONG_PARAM_COUNT;
|
||||
|
@ -493,13 +494,11 @@ ZEND_FUNCTION(function_exists)
|
|||
convert_to_string_ex(function_name);
|
||||
lcname = estrndup((*function_name)->value.str.val, (*function_name)->value.str.len);
|
||||
zend_str_tolower(lcname, (*function_name)->value.str.len);
|
||||
if (zend_hash_exists(CG(function_table), lcname, (*function_name)->value.str.len+1) == FAILURE) {
|
||||
efree(lcname);
|
||||
RETURN_FALSE;
|
||||
} else {
|
||||
efree(lcname);
|
||||
RETURN_TRUE;
|
||||
}
|
||||
|
||||
retval = zend_hash_exists(EG(function_table), lcname, (*function_name)->value.str.len+1);
|
||||
efree(lcname);
|
||||
|
||||
RETURN_BOOL(retval);
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue