Fix bug #72596: imagetypes function won't advertise WEBP support

We add the constant IMG_WEBP and make sure that WebP support is properly
reported by imagetypes().
This commit is contained in:
Christoph M. Becker 2016-07-14 16:43:13 +02:00
parent 3cc4265527
commit 8bb3bd04a9
4 changed files with 22 additions and 0 deletions

3
NEWS
View File

@ -23,6 +23,9 @@ PHP NEWS
. Fixed bug #72575 (using --allow-to-run-as-root should ignore missing user).
(gooh)
- GD:
. Fixed bug #72596 (imagetypes function won't advertise WEBP support). (cmb)
- Intl:
. Partially fixed #72506 (idn_to_ascii for UTS #46 incorrect for long domain
names). (cmb)

View File

@ -400,6 +400,9 @@ PHP 5.6 UPGRADE NOTES
- CURL:
CURL_HTTP_VERSION_2_0 and CURL_VERSION_HTTP2 (>= 5.6.8)
- GD:
IMG_WEBP (>= 5.6.25)
- LDAP:
LDAP_ESCAPE_FILTER int(1)
LDAP_ESCAPE_DN int(2)

View File

@ -1148,6 +1148,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);
@ -2200,6 +2201,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;

View File

@ -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)