diff options
Diffstat (limited to 'ext')
-rw-r--r-- | ext/gd/gd.c | 4 | ||||
-rw-r--r-- | ext/gd/tests/bug72596.phpt | 12 |
2 files changed, 16 insertions, 0 deletions
diff --git a/ext/gd/gd.c b/ext/gd/gd.c index b09990938d..a3b33fdef3 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -1047,6 +1047,7 @@ PHP_MINIT_FUNCTION(gd) REGISTER_LONG_CONSTANT("IMG_PNG", 4, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("IMG_WBMP", 8, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("IMG_XPM", 16, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("IMG_WEBP", 32, CONST_CS | CONST_PERSISTENT); /* special colours for gd */ REGISTER_LONG_CONSTANT("IMG_COLOR_TILED", gdTiled, CONST_CS | CONST_PERSISTENT); @@ -2124,6 +2125,9 @@ PHP_FUNCTION(imagetypes) #if defined(HAVE_GD_XPM) ret |= 16; #endif +#ifdef HAVE_GD_WEBP + ret |= 32; +#endif if (zend_parse_parameters_none() == FAILURE) { return; diff --git a/ext/gd/tests/bug72596.phpt b/ext/gd/tests/bug72596.phpt new file mode 100644 index 0000000000..2eb7dadb76 --- /dev/null +++ b/ext/gd/tests/bug72596.phpt @@ -0,0 +1,12 @@ +--TEST-- +Bug #72596 (imagetypes function won't advertise WEBP support) +--SKIPIF-- +<?php +if (!extension_loaded('gd')) die('skip gd extension not available'); +?> +--FILE-- +<?php +var_dump(function_exists('imagewebp') === (bool) (imagetypes() & IMG_WEBP)); +?> +--EXPECT-- +bool(true) |