From cfa72ff3af144aa720aade9a311bf8160d57e8b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1t=C3=A9=20Kocsis?= Date: Fri, 2 Sep 2022 13:00:07 +0200 Subject: [PATCH] Declare ext/standard constants in stubs - part 6 Closes GH-9467 --- ext/standard/basic_functions.c | 2 +- ext/standard/basic_functions.stub.php | 116 +++++++++++++++++++++++++ ext/standard/basic_functions_arginfo.h | 26 +++++- ext/standard/image.c | 32 ------- ext/standard/php_image.h | 4 +- 5 files changed, 143 insertions(+), 37 deletions(-) diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index cd30c598440..713af33e067 100755 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -21,6 +21,7 @@ #include "php_globals.h" #include "php_variables.h" #include "php_ini.h" +#include "php_image.h" #include "php_standard.h" #include "php_math.h" #include "php_http.h" @@ -348,7 +349,6 @@ PHP_MINIT_FUNCTION(basic) /* {{{ */ BASIC_MINIT_SUBMODULE(exec) BASIC_MINIT_SUBMODULE(user_streams) - BASIC_MINIT_SUBMODULE(imagetypes) php_register_url_stream_wrapper("php", &php_stream_php_wrapper); php_register_url_stream_wrapper("file", &php_plain_files_wrapper); diff --git a/ext/standard/basic_functions.stub.php b/ext/standard/basic_functions.stub.php index 2bd16bbe4c5..596f32b4e4b 100755 --- a/ext/standard/basic_functions.stub.php +++ b/ext/standard/basic_functions.stub.php @@ -425,6 +425,122 @@ const DNS_ANY = UNKNOWN; const DNS_ALL = UNKNOWN; #endif +/* image.c */ + +/** + * @var int + * @cvalue IMAGE_FILETYPE_GIF + */ +const IMAGETYPE_GIF = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_JPEG + */ +const IMAGETYPE_JPEG = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_PNG + */ +const IMAGETYPE_PNG = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_SWF + */ +const IMAGETYPE_SWF = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_PSD + */ +const IMAGETYPE_PSD = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_BMP + */ +const IMAGETYPE_BMP = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_TIFF_II + */ +const IMAGETYPE_TIFF_II = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_TIFF_MM + */ +const IMAGETYPE_TIFF_MM = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_JPC + */ +const IMAGETYPE_JPC = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_JP2 + */ +const IMAGETYPE_JP2 = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_JPX + */ +const IMAGETYPE_JPX = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_JB2 + */ +const IMAGETYPE_JB2 = UNKNOWN; +#if (defined(HAVE_ZLIB) && !defined(COMPILE_DL_ZLIB)) +/** + * @var int + * @cvalue IMAGE_FILETYPE_SWC + */ +const IMAGETYPE_SWC = UNKNOWN; +#endif +/** + * @var int + * @cvalue IMAGE_FILETYPE_IFF + */ +const IMAGETYPE_IFF = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_WBMP + */ +const IMAGETYPE_WBMP = UNKNOWN; +/* keep alias */ +/** + * @var int + * @cvalue IMAGE_FILETYPE_JPC + */ +const IMAGETYPE_JPEG2000 = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_XBM + */ +const IMAGETYPE_XBM = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_ICO + */ +const IMAGETYPE_ICO = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_WEBP + */ +const IMAGETYPE_WEBP = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_AVIF + */ +const IMAGETYPE_AVIF = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_UNKNOWN + */ +const IMAGETYPE_UNKNOWN = UNKNOWN; +/** + * @var int + * @cvalue IMAGE_FILETYPE_COUNT + */ +const IMAGETYPE_COUNT = UNKNOWN; + /* syslog.c */ /* error levels */ diff --git a/ext/standard/basic_functions_arginfo.h b/ext/standard/basic_functions_arginfo.h index 7e7d5f5692a..570dbe9a85c 100644 --- a/ext/standard/basic_functions_arginfo.h +++ b/ext/standard/basic_functions_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 64cff452a29eabb6a1a2da8ba1171a386b98cf71 */ + * Stub hash: 1921468762d3df7f36d22f27db02f22caa36238a */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_set_time_limit, 0, 1, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0) @@ -3610,6 +3610,30 @@ static void register_basic_functions_symbols(int module_number) #if (defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS))) REGISTER_LONG_CONSTANT("DNS_ALL", PHP_DNS_ALL, CONST_PERSISTENT); #endif + REGISTER_LONG_CONSTANT("IMAGETYPE_GIF", IMAGE_FILETYPE_GIF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_JPEG", IMAGE_FILETYPE_JPEG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_PNG", IMAGE_FILETYPE_PNG, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_SWF", IMAGE_FILETYPE_SWF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_PSD", IMAGE_FILETYPE_PSD, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_BMP", IMAGE_FILETYPE_BMP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_TIFF_II", IMAGE_FILETYPE_TIFF_II, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_TIFF_MM", IMAGE_FILETYPE_TIFF_MM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_JPC", IMAGE_FILETYPE_JPC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_JP2", IMAGE_FILETYPE_JP2, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_JPX", IMAGE_FILETYPE_JPX, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_JB2", IMAGE_FILETYPE_JB2, CONST_PERSISTENT); +#if (defined(HAVE_ZLIB) && !defined(COMPILE_DL_ZLIB)) + REGISTER_LONG_CONSTANT("IMAGETYPE_SWC", IMAGE_FILETYPE_SWC, CONST_PERSISTENT); +#endif + REGISTER_LONG_CONSTANT("IMAGETYPE_IFF", IMAGE_FILETYPE_IFF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_WBMP", IMAGE_FILETYPE_WBMP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_JPEG2000", IMAGE_FILETYPE_JPC, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_XBM", IMAGE_FILETYPE_XBM, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_ICO", IMAGE_FILETYPE_ICO, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_WEBP", IMAGE_FILETYPE_WEBP, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_AVIF", IMAGE_FILETYPE_AVIF, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_UNKNOWN", IMAGE_FILETYPE_UNKNOWN, CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMAGETYPE_COUNT", IMAGE_FILETYPE_COUNT, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("LOG_EMERG", LOG_EMERG, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("LOG_ALERT", LOG_ALERT, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("LOG_CRIT", LOG_CRIT, CONST_PERSISTENT); diff --git a/ext/standard/image.c b/ext/standard/image.c index 831cd8a28bc..7375d75fc64 100644 --- a/ext/standard/image.c +++ b/ext/standard/image.c @@ -64,38 +64,6 @@ struct gfxinfo { unsigned int channels; }; -/* {{{ PHP_MINIT_FUNCTION(imagetypes) - * Register IMAGETYPE_ constants used by GetImageSize(), image_type_to_mime_type, ext/exif */ -PHP_MINIT_FUNCTION(imagetypes) -{ - REGISTER_LONG_CONSTANT("IMAGETYPE_GIF", IMAGE_FILETYPE_GIF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_JPEG", IMAGE_FILETYPE_JPEG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_PNG", IMAGE_FILETYPE_PNG, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_SWF", IMAGE_FILETYPE_SWF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_PSD", IMAGE_FILETYPE_PSD, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_BMP", IMAGE_FILETYPE_BMP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_TIFF_II", IMAGE_FILETYPE_TIFF_II, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_TIFF_MM", IMAGE_FILETYPE_TIFF_MM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_JPC", IMAGE_FILETYPE_JPC, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_JP2", IMAGE_FILETYPE_JP2, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_JPX", IMAGE_FILETYPE_JPX, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_JB2", IMAGE_FILETYPE_JB2, CONST_CS | CONST_PERSISTENT); -#if defined(HAVE_ZLIB) && !defined(COMPILE_DL_ZLIB) - REGISTER_LONG_CONSTANT("IMAGETYPE_SWC", IMAGE_FILETYPE_SWC, CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_LONG_CONSTANT("IMAGETYPE_IFF", IMAGE_FILETYPE_IFF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_WBMP", IMAGE_FILETYPE_WBMP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_JPEG2000",IMAGE_FILETYPE_JPC, CONST_CS | CONST_PERSISTENT); /* keep alias */ - REGISTER_LONG_CONSTANT("IMAGETYPE_XBM", IMAGE_FILETYPE_XBM, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_ICO", IMAGE_FILETYPE_ICO, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_WEBP", IMAGE_FILETYPE_WEBP, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_AVIF", IMAGE_FILETYPE_AVIF, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_UNKNOWN", IMAGE_FILETYPE_UNKNOWN, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMAGETYPE_COUNT", IMAGE_FILETYPE_COUNT, CONST_CS | CONST_PERSISTENT); - return SUCCESS; -} -/* }}} */ - /* {{{ php_handle_gif * routine to handle GIF files. If only everything were that easy... ;} */ static struct gfxinfo *php_handle_gif (php_stream * stream) diff --git a/ext/standard/php_image.h b/ext/standard/php_image.h index b975e0bf147..a41273e6745 100644 --- a/ext/standard/php_image.h +++ b/ext/standard/php_image.h @@ -44,13 +44,11 @@ typedef enum IMAGE_FILETYPE_ICO, IMAGE_FILETYPE_WEBP, IMAGE_FILETYPE_AVIF, -/* WHEN EXTENDING: PLEASE ALSO REGISTER IN image.c:PHP_MINIT_FUNCTION(imagetypes) */ +/* WHEN EXTENDING: PLEASE ALSO REGISTER IN basic_function.stub.php */ IMAGE_FILETYPE_COUNT } image_filetype; /* }}} */ -PHP_MINIT_FUNCTION(imagetypes); - PHPAPI int php_getimagetype(php_stream *stream, const char *input, char *filetype); PHPAPI char * php_image_type_to_mime_type(int image_type);