You've already forked macports-ports
mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
86 lines
3.9 KiB
Diff
86 lines
3.9 KiB
Diff
Fix build on PHP 7.2+
|
|
https://bugs.php.net/bug.php?id=75631
|
|
https://github.com/php/pecl-search_engine-solr/commit/744e32915d5989101267ed2c84a407c582dc6f31
|
|
--- src/php7/php_solr.c.orig
|
|
+++ src/php7/php_solr.c
|
|
@@ -566,7 +566,7 @@ static zend_function_entry solr_document_methods[] = {
|
|
SOLR_CTOR(SolrDocument, __construct, SolrDocument__construct_args)
|
|
SOLR_DTOR(SolrDocument, __destruct, Solr_no_args)
|
|
|
|
- PHP_ME(SolrDocument, __clone, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CLONE)
|
|
+ PHP_ME(SolrDocument, __clone, NULL, ZEND_ACC_PUBLIC)
|
|
PHP_ME(SolrDocument, __set, SolrDocument_addField_args, ZEND_ACC_PUBLIC)
|
|
PHP_ME(SolrDocument, __get, SolrDocument_getField_args, ZEND_ACC_PUBLIC)
|
|
PHP_ME(SolrDocument, __isset, SolrDocument_fieldExists_args, ZEND_ACC_PUBLIC)
|
|
@@ -609,7 +609,7 @@ static zend_function_entry solr_document_methods[] = {
|
|
static zend_function_entry solr_input_document_methods[] = {
|
|
SOLR_CTOR(SolrInputDocument, __construct, SolrInputDocument__construct_args)
|
|
SOLR_DTOR(SolrInputDocument, __destruct, Solr_no_args)
|
|
- PHP_ME(SolrInputDocument, __clone, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CLONE)
|
|
+ PHP_ME(SolrInputDocument, __clone, NULL, ZEND_ACC_PUBLIC)
|
|
PHP_ME(SolrInputDocument, __sleep, Solr_no_args, ZEND_ACC_PUBLIC)
|
|
PHP_ME(SolrInputDocument, __wakeup, NULL, ZEND_ACC_PUBLIC)
|
|
PHP_ME(SolrInputDocument, setBoost, SolrInputDocument_setBoost_args, ZEND_ACC_PUBLIC)
|
|
@@ -645,7 +645,7 @@ static zend_function_entry solr_client_methods[] = {
|
|
SOLR_DTOR(SolrClient, __destruct, Solr_no_args)
|
|
PHP_ME(SolrClient, __sleep, Solr_no_args, ZEND_ACC_PUBLIC)
|
|
PHP_ME(SolrClient, __wakeup, NULL, ZEND_ACC_PUBLIC)
|
|
- PHP_ME(SolrClient, __clone, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CLONE)
|
|
+ PHP_ME(SolrClient, __clone, NULL, ZEND_ACC_PUBLIC)
|
|
PHP_ME(SolrClient, getOptions, Solr_no_args, ZEND_ACC_PUBLIC)
|
|
PHP_ME(SolrClient, getDebug, Solr_no_args, ZEND_ACC_PUBLIC)
|
|
PHP_ME(SolrClient, setServlet, SolrClient_setServlet_args, ZEND_ACC_PUBLIC)
|
|
@@ -722,7 +722,7 @@ static zend_function_entry solr_params_methods[] = {
|
|
PHP_ME(SolrParams, getParams, Solr_no_args, ZEND_ACC_PUBLIC)
|
|
PHP_ME(SolrParams, getParam, SolrParams_getParam_args, ZEND_ACC_PUBLIC)
|
|
PHP_ME(SolrParams, getPreparedParams, Solr_no_args, ZEND_ACC_PUBLIC)
|
|
- PHP_ME(SolrParams, __clone, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CLONE)
|
|
+ PHP_ME(SolrParams, __clone, NULL, ZEND_ACC_PUBLIC)
|
|
PHP_ME(SolrParams, serialize, NULL, ZEND_ACC_PUBLIC)
|
|
PHP_ME(SolrParams, unserialize, SolrParams_unserialize_args, ZEND_ACC_PUBLIC)
|
|
PHP_MALIAS(SolrParams, add, addParam, SolrParams_addParam_args, ZEND_ACC_PUBLIC)
|
|
--- src/php7/solr_functions_helpers.c.orig
|
|
+++ src/php7/solr_functions_helpers.c
|
|
@@ -1404,19 +1404,28 @@ PHP_SOLR_API long solr_get_json_last_error(TSRMLS_D)
|
|
static inline int solr_pcre_replace_into_buffer(solr_string_t *buffer, char * search, char *replace)
|
|
{
|
|
zend_string *result;
|
|
- zval replace_val;
|
|
int limit = -1;
|
|
int replace_count = -1;
|
|
zend_string *regex_str = zend_string_init(search, strlen(search), 0);
|
|
zend_string *subject_str = zend_string_init(buffer->str, buffer->len, 0);
|
|
+#if PHP_VERSION_ID >= 70200
|
|
+ zend_string *replace_str = zend_string_init(replace, strlen(replace), 0);
|
|
+#else
|
|
+ zval replace_val;
|
|
ZVAL_STRING(&replace_val, replace);
|
|
+#endif
|
|
+
|
|
result = php_pcre_replace(
|
|
regex_str,
|
|
subject_str,
|
|
buffer->str,
|
|
buffer->len,
|
|
+#if PHP_VERSION_ID >= 70200
|
|
+ replace_str,
|
|
+#else
|
|
&replace_val,
|
|
0,
|
|
+#endif
|
|
limit,
|
|
&replace_count
|
|
);
|
|
@@ -1424,7 +1433,11 @@ static inline int solr_pcre_replace_into_buffer(solr_string_t *buffer, char * se
|
|
solr_string_set_ex(buffer, (solr_char_t *)result->val, (size_t)result->len);
|
|
/* fprintf(stdout, "%s", buffer->str); */
|
|
efree(result);
|
|
+#if PHP_VERSION_ID >= 70200
|
|
+ zend_string_release(replace_str);
|
|
+#else
|
|
zval_ptr_dtor(&replace_val);
|
|
+#endif
|
|
zend_string_release(regex_str);
|
|
zend_string_release(subject_str);
|
|
|