summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/gd/gd.c4
-rw-r--r--ext/gd/tests/bug72596.phpt12
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)