Detect if function is disabled from c ext

From: Date: Sun, 29 Nov 2020 22:19:31 +0000
Subject: Detect if function is disabled from c ext
Groups: php.internals 
Request: Send a blank email to internals+get-112315@lists.php.net to get a copy of this message
How can a php function can be checked from extension if that function is disabled or not? In php7.x, I used: #ifdef HAVE_CONFIG_H #include "config.h" #endif #include <stdbool.h> #include "php.h" bool is_php_function_disabled(const char *func_name) { zend_internal_function *func; if ((func = zend_hash_str_find_ptr(CG(function_table), func_name, strlen(func_name)))) { if (func->handler == ZEND_FN(display_disabled_function)) { return true; } } return false; } But it does not work for php8: In file included from /usr/local/include/php/main/php.h:35, from .../ext/libs.c:6: .../ext/libs.c: In function 'is_php_function_disabled': /usr/local/include/php/Zend/zend_API.h:68:23: error: 'zif_display_disabled_function' undeclared (first use in this function) 68 | #define ZEND_FN(name) zif_##name | ^~~~ .../ext/libs.c:237:30: note: in expansion of macro 'ZEND_FN' 237 | if (func->handler == ZEND_FN(display_disabled_function)) { Thanks for help in advance. With kind regards / Mit freundlichen Grüßen / S přátelským pozdravem, Michael Voříšek ČVUT FEL

« previous php.internals (#112315) next »