From d3512d945f0f161abe26b4dd87e6cdfbe41cd913 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Thu, 8 Oct 2020 16:43:16 +0200 Subject: [PATCH 1/3] Fix build woth PHP 8 --- src/php_ahocorasick.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/php_ahocorasick.h b/src/php_ahocorasick.h index d2d58de..c00cbd5 100644 --- a/src/php_ahocorasick.h +++ b/src/php_ahocorasick.h @@ -34,6 +34,11 @@ #endif // Compatibility +#ifndef TSRMLS_CC +#define TSRMLS_CC +#define TSRMLS_DC +#endif + #if PHP_MAJOR_VERSION < 7 #define PHP7 0 typedef long zend_long; From 94c4653df65c45574770b3530947188b96397b6b Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Thu, 8 Oct 2020 16:44:07 +0200 Subject: [PATCH 2/3] Generate arginfo from stub --- src/php_ahocorasick.c | 36 ++++------------------- src/php_ahocorasick.stub.php | 38 ++++++++++++++++++++++++ src/php_ahocorasick_arginfo.h | 44 ++++++++++++++++++++++++++++ src/php_ahocorasick_legacy_arginfo.h | 44 ++++++++++++++++++++++++++++ 4 files changed, 132 insertions(+), 30 deletions(-) create mode 100644 src/php_ahocorasick.stub.php create mode 100644 src/php_ahocorasick_arginfo.h create mode 100644 src/php_ahocorasick_legacy_arginfo.h diff --git a/src/php_ahocorasick.c b/src/php_ahocorasick.c index ce0da64..5ceef44 100644 --- a/src/php_ahocorasick.c +++ b/src/php_ahocorasick.c @@ -66,40 +66,16 @@ static char exception_buffer[8192]; ZEND_DECLARE_MODULE_GLOBALS(ahocorasick) -ZEND_BEGIN_ARG_INFO_EX(arginfo_ahocorasick_match, 0, 0, 2) - ZEND_ARG_INFO(0, needle) - ZEND_ARG_INFO(0, id) - ZEND_ARG_INFO(0, findAll) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_ahocorasick_id, 0, 0, 1) - ZEND_ARG_INFO(0, id) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_ahocorasick_init, 0, 0, 1) - ZEND_ARG_INFO(0, data) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_ahocorasick_add_patterns, 0, 0, 2) - ZEND_ARG_INFO(0, id) - ZEND_ARG_INFO(0, patterns) -ZEND_END_ARG_INFO() - - -static zend_function_entry ahocorasick_functions[] = { - PHP_FE(ahocorasick_match, arginfo_ahocorasick_match) - PHP_FE(ahocorasick_init, arginfo_ahocorasick_init) - PHP_FE(ahocorasick_deinit, arginfo_ahocorasick_id) - PHP_FE(ahocorasick_isValid, arginfo_ahocorasick_id) - PHP_FE(ahocorasick_finalize, arginfo_ahocorasick_id) - PHP_FE(ahocorasick_add_patterns, arginfo_ahocorasick_add_patterns) - PHP_FE_END -}; +#if PHP_VERSION_ID < 80000 +#include "php_ahocorasick_legacy_arginfo.h" +#else +#include "php_ahocorasick_arginfo.h" +#endif zend_module_entry ahocorasick_module_entry = { STANDARD_MODULE_HEADER, PHP_AHOCORASICK_EXTNAME, - ahocorasick_functions, + ext_functions, PHP_MINIT(ahocorasick), PHP_MSHUTDOWN(ahocorasick), PHP_RINIT(ahocorasick), diff --git a/src/php_ahocorasick.stub.php b/src/php_ahocorasick.stub.php new file mode 100644 index 0000000..1286f4b --- /dev/null +++ b/src/php_ahocorasick.stub.php @@ -0,0 +1,38 @@ +