Skip to content

Commit 32eaffa

Browse files
committed
Ensure compatibility with PHP 7.x
1 parent 76ef188 commit 32eaffa

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

vips.c

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,42 @@
2424
ZEND_DECLARE_MODULE_GLOBALS(vips)
2525
*/
2626

27+
/* backward compat macros */
28+
29+
#ifndef IS_VOID
30+
# define IS_VOID 0
31+
#endif /* !defined(IS_VOID) */
32+
33+
#ifndef IS_MIXED
34+
# define IS_MIXED 0
35+
#endif /* !defined(IS_MIXED) */
36+
37+
#ifndef ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX
38+
# define ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(name, return_reference, num_args, type) \
39+
ZEND_BEGIN_ARG_INFO_EX(name, 0, return_reference, num_args)
40+
#endif /* !defined(ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX) */
41+
42+
#ifndef ZEND_ARG_TYPE_MASK
43+
# define ZEND_ARG_TYPE_MASK(pass_by_ref, name, type_mask, default_value) \
44+
ZEND_ARG_TYPE_INFO(pass_by_ref, name, 0, 0)
45+
#endif /* !defined(ZEND_ARG_TYPE_MASK) */
46+
47+
#ifndef ZEND_ARG_VARIADIC_TYPE_INFO
48+
# define ZEND_ARG_VARIADIC_TYPE_INFO(pass_by_ref, name, type_hint, allow_null) { #name, NULL, type_hint, pass_by_ref, allow_null, 1 },
49+
#endif /* !defined(ZEND_ARG_VARIADIC_TYPE_INFO) */
50+
51+
#ifndef ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE
52+
# define ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(pass_by_ref, name, type_hint, allow_null, default_value) \
53+
ZEND_ARG_TYPE_INFO(pass_by_ref, name, type_hint, allow_null)
54+
#endif /* !defined(ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE) */
55+
56+
#if PHP_VERSION_ID < 70200
57+
# undef ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX
58+
# define ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, class_name, allow_null) \
59+
static const zend_internal_arg_info name[] = { \
60+
{ (const char*)(zend_uintptr_t)(required_num_args), ( #class_name ), 0, return_reference, allow_null, 0 },
61+
#endif /* PHP_VERSION_ID < 70200 */
62+
2763
#include "vips_arginfo.h"
2864

2965
/* True global resources - no need for thread safety here */

0 commit comments

Comments
 (0)