Fix compile issues with libenchant-2

This commit is contained in:
Daniel Winzen
2021-04-25 13:56:27 +02:00
parent e8e97c8ac9
commit fe71692eb9

View File

@ -1471,6 +1471,257 @@ index 6c8dd726ce..eccaedee14 100644
PHP_NEW_EXTENSION(enchant, enchant.c, \$ext_shared) PHP_NEW_EXTENSION(enchant, enchant.c, \$ext_shared)
PHP_SUBST(ENCHANT_SHARED_LIBADD) PHP_SUBST(ENCHANT_SHARED_LIBADD)
diff --git a/ext/enchant/enchant.c b/ext/enchant/enchant.c
index 6ce9d4b..900d605 100644
--- a/ext/enchant/enchant.c
+++ b/ext/enchant/enchant.c
@@ -135,9 +135,10 @@ static const zend_function_entry enchant_functions[] = {
PHP_FE(enchant_broker_describe, arginfo_enchant_broker_free)
PHP_FE(enchant_dict_check, arginfo_enchant_dict_check)
PHP_FE(enchant_dict_suggest, arginfo_enchant_dict_check)
- PHP_FE(enchant_dict_add_to_personal, arginfo_enchant_dict_check)
+ PHP_FE(enchant_dict_add, arginfo_enchant_dict_check)
+ PHP_FALIAS(enchant_dict_add_to_personal, enchant_dict_add, arginfo_enchant_dict_check)
PHP_FE(enchant_dict_add_to_session, arginfo_enchant_dict_check)
- PHP_FE(enchant_dict_is_in_session, arginfo_enchant_dict_check)
+ PHP_FE(enchant_dict_is_added, arginfo_enchant_dict_check)
PHP_FE(enchant_dict_store_replacement, arginfo_enchant_dict_store_replacement)
PHP_FE(enchant_dict_get_error, arginfo_enchant_broker_free_dict)
PHP_FE(enchant_dict_describe, arginfo_enchant_broker_free_dict)
@@ -285,6 +286,9 @@ PHP_MINIT_FUNCTION(enchant)
le_enchant_dict = zend_register_list_destructors_ex(php_enchant_dict_free, NULL, "enchant_dict", module_number);
REGISTER_LONG_CONSTANT("ENCHANT_MYSPELL", PHP_ENCHANT_MYSPELL, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("ENCHANT_ISPELL", PHP_ENCHANT_ISPELL, CONST_CS | CONST_PERSISTENT);
+#ifdef HAVE_ENCHANT_GET_VERSION
+ REGISTER_STRING_CONSTANT("LIBENCHANT_VERSION", enchant_get_version(), CONST_CS | CONST_PERSISTENT);
+#endif
return SUCCESS;
}
/* }}} */
@@ -392,7 +396,7 @@ PHP_FUNCTION(enchant_broker_get_error)
{
zval *broker;
enchant_broker *pbroker;
- char *msg;
+ const char *msg;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "r", &broker) == FAILURE) {
RETURN_FALSE;
@@ -738,7 +742,7 @@ PHP_FUNCTION(enchant_dict_quick_check)
for (i = 0; i < n_sugg; i++) {
add_next_index_string(sugg, suggs[i]);
}
- enchant_dict_free_suggestions(pdict->pdict, suggs);
+ enchant_dict_free_string_list(pdict->pdict, suggs);
}
@@ -793,14 +797,14 @@ PHP_FUNCTION(enchant_dict_suggest)
add_next_index_string(return_value, suggs[i]);
}
- enchant_dict_free_suggestions(pdict->pdict, suggs);
+ enchant_dict_free_string_list(pdict->pdict, suggs);
}
}
/* }}} */
-/* {{{ proto void enchant_dict_add_to_personal(resource dict, string word)
+/* {{{ proto void enchant_dict_add(resource dict, string word)
add 'word' to personal word list */
-PHP_FUNCTION(enchant_dict_add_to_personal)
+PHP_FUNCTION(enchant_dict_add)
{
zval *dict;
char *word;
@@ -813,7 +817,7 @@ PHP_FUNCTION(enchant_dict_add_to_personal)
PHP_ENCHANT_GET_DICT;
- enchant_dict_add_to_personal(pdict->pdict, word, wordlen);
+ enchant_dict_add(pdict->pdict, word, wordlen);
}
/* }}} */
@@ -836,9 +840,9 @@ PHP_FUNCTION(enchant_dict_add_to_session)
}
/* }}} */
-/* {{{ proto bool enchant_dict_is_in_session(resource dict, string word)
+/* {{{ proto bool enchant_dict_is_added(resource dict, string word)
whether or not 'word' exists in this spelling-session */
-PHP_FUNCTION(enchant_dict_is_in_session)
+PHP_FUNCTION(enchant_dict_is_added)
{
zval *dict;
char *word;
@@ -851,7 +855,7 @@ PHP_FUNCTION(enchant_dict_is_in_session)
PHP_ENCHANT_GET_DICT;
- RETURN_BOOL(enchant_dict_is_in_session(pdict->pdict, word, wordlen));
+ RETURN_BOOL(enchant_dict_is_added(pdict->pdict, word, wordlen));
}
/* }}} */
@@ -884,7 +888,7 @@ PHP_FUNCTION(enchant_dict_get_error)
{
zval *dict;
enchant_dict *pdict;
- char *msg;
+ const char *msg;
if (zend_parse_parameters(ZEND_NUM_ARGS(), "r", &dict) == FAILURE) {
RETURN_FALSE;
diff --git a/ext/enchant/php_enchant.h b/ext/enchant/php_enchant.h
index 9ba2109..b810170 100644
--- a/ext/enchant/php_enchant.h
+++ b/ext/enchant/php_enchant.h
@@ -53,9 +53,9 @@ PHP_FUNCTION(enchant_broker_describe);
PHP_FUNCTION(enchant_dict_check);
PHP_FUNCTION(enchant_dict_suggest);
-PHP_FUNCTION(enchant_dict_add_to_personal);
+PHP_FUNCTION(enchant_dict_add);
PHP_FUNCTION(enchant_dict_add_to_session);
-PHP_FUNCTION(enchant_dict_is_in_session);
+PHP_FUNCTION(enchant_dict_is_added);
PHP_FUNCTION(enchant_dict_store_replacement);
PHP_FUNCTION(enchant_dict_get_error);
PHP_FUNCTION(enchant_dict_describe);
diff --git a/ext/enchant/tests/broker_free_02.phpt b/ext/enchant/tests/broker_free_02.phpt
index 75ce5cb..30abd45 100644
--- a/ext/enchant/tests/broker_free_02.phpt
+++ b/ext/enchant/tests/broker_free_02.phpt
@@ -21,7 +21,7 @@ if (is_resource(\$broker)) {
if (\$requestDict) {
echo("OK\n");
for(\$x=0;\$x<count(\$newWord);\$x++) {
- \$AddtoPersonalDict = enchant_dict_add_to_personal(\$requestDict,\$newWord[\$x]);
+ \$AddtoPersonalDict = enchant_dict_add(\$requestDict,\$newWord[\$x]);
}
if (NULL === \$AddtoPersonalDict) {
diff --git a/ext/enchant/tests/broker_free_dict.phpt b/ext/enchant/tests/broker_free_dict.phpt
index 0e18ae7..40185ff 100644
--- a/ext/enchant/tests/broker_free_dict.phpt
+++ b/ext/enchant/tests/broker_free_dict.phpt
@@ -19,7 +19,7 @@ if (is_resource(\$broker)) {
if (\$requestDict) {
echo("OK\n");
- \$AddtoPersonalDict = enchant_dict_add_to_personal(\$requestDict, \$newWord);
+ \$AddtoPersonalDict = enchant_dict_add(\$requestDict, \$newWord);
if (NULL === \$AddtoPersonalDict) {
var_dump(\$AddtoPersonalDict);
diff --git a/ext/enchant/tests/bug53070.phpt b/ext/enchant/tests/bug53070.phpt
index b35f19c..c2ad050 100644
--- a/ext/enchant/tests/bug53070.phpt
+++ b/ext/enchant/tests/bug53070.phpt
@@ -4,6 +4,7 @@ Bug #53070 (enchant_broker_get_path crashes if no path is set)
<?php
if(!extension_loaded('enchant')) die('skip, enchant not loader');
if (!is_resource(enchant_broker_init())) {die("skip, resource dont load\n");}
+if (defined("LIBENCHANT_VERSION") && version_compare(LIBENCHANT_VERSION, "2", ">")) die('skip libenchant v1 only');
?>
--FILE--
<?php
@@ -12,8 +13,12 @@ var_dump(enchant_broker_get_dict_path(\$broker, ENCHANT_MYSPELL));
var_dump(enchant_broker_get_dict_path(\$broker, ENCHANT_ISPELL));
?>
--EXPECTF--
+Deprecated: Function enchant_broker_get_dict_path() is deprecated in %s
+
Warning: enchant_broker_get_dict_path(): dict_path not set in %s on line %d
bool(false)
+Deprecated: Function enchant_broker_get_dict_path() is deprecated in %s
+
Warning: enchant_broker_get_dict_path(): dict_path not set in %s on line %d
bool(false)
diff --git a/ext/enchant/tests/dict_add_to_personal.phpt b/ext/enchant/tests/dict_add_to_personal.phpt
index e711a25..94b7fbd 100644
--- a/ext/enchant/tests/dict_add_to_personal.phpt
+++ b/ext/enchant/tests/dict_add_to_personal.phpt
@@ -1,5 +1,5 @@
--TEST--
-enchant_dict_add_to_personal() function
+enchant_dict_add() function
--CREDITS--
marcosptf - <marcosptf@yahoo.com.br>
--SKIPIF--
@@ -20,7 +20,7 @@ if (is_resource(\$broker)) {
if (\$requestDict) {
echo("OK\n");
- \$AddtoPersonalDict = enchant_dict_add_to_personal(\$requestDict,\$newWord);
+ \$AddtoPersonalDict = enchant_dict_add(\$requestDict,\$newWord);
if (NULL === \$AddtoPersonalDict) {
var_dump(\$AddtoPersonalDict);
diff --git a/ext/enchant/tests/dict_check.phpt b/ext/enchant/tests/dict_check.phpt
index eb4198c..8810db6 100644
--- a/ext/enchant/tests/dict_check.phpt
+++ b/ext/enchant/tests/dict_check.phpt
@@ -20,7 +20,7 @@ if (is_resource(\$broker)) {
if (\$requestDict) {
echo("OK\n");
- enchant_dict_add_to_personal(\$requestDict, \$newWord);
+ enchant_dict_add(\$requestDict, \$newWord);
if (enchant_dict_check(\$requestDict, \$newWord)) {
echo("OK\n");
diff --git a/ext/enchant/tests/dict_is_in_session.phpt b/ext/enchant/tests/dict_is_in_session.phpt
index 4e670d5..b074105 100644
--- a/ext/enchant/tests/dict_is_in_session.phpt
+++ b/ext/enchant/tests/dict_is_in_session.phpt
@@ -20,10 +20,10 @@ if (is_resource(\$broker)) {
if (\$requestDict) {
echo("OK\n");
- \$AddtoPersonalDict = enchant_dict_add_to_personal(\$requestDict,\$newWord);
+ \$AddtoPersonalDict = enchant_dict_add(\$requestDict,\$newWord);
if (NULL === \$AddtoPersonalDict) {
- var_dump(enchant_dict_is_in_session(\$requestDict,\$newWord));
+ var_dump(enchant_dict_is_added(\$requestDict,\$newWord));
} else {
echo("dict add to personal failed\n");
}
diff --git a/ext/enchant/tests/enchant_broker_set_dict_path.phpt b/ext/enchant/tests/enchant_broker_set_dict_path.phpt
index db35288..a072c25 100644
--- a/ext/enchant/tests/enchant_broker_set_dict_path.phpt
+++ b/ext/enchant/tests/enchant_broker_set_dict_path.phpt
@@ -7,7 +7,8 @@ marcosptf - <marcosptf@yahoo.com.br>
<?php
if(!extension_loaded('enchant')) die('skip, enchant not loader');
if (!is_resource(enchant_broker_init())) {die("skip, resource dont load\n");}
-if (!is_array(enchant_broker_list_dicts(enchant_broker_init()))) {die("skip, dont has dictionary install in this machine! \n");}
+if (!is_array(enchant_broker_list_dicts(enchant_broker_init()))) {die("skip, no dictionary installed on this machine! \n");}
+if (defined("LIBENCHANT_VERSION") && version_compare(LIBENCHANT_VERSION, "2", ">")) die('skip libenchant v1 only');
?>
--FILE--
<?php
@@ -46,8 +47,16 @@ if (is_resource(\$broker)) {
echo("broker is not a resource; failed; \n");
}
?>
---EXPECT--
+--EXPECTF--
OK
+
+Deprecated: Function enchant_broker_set_dict_path() is deprecated in %s
OK
+
+Deprecated: Function enchant_broker_set_dict_path() is deprecated in %s
OK
+
+Deprecated: Function enchant_broker_get_dict_path() is deprecated in %s
+
+Deprecated: Function enchant_broker_get_dict_path() is deprecated in %s
OK
EOF EOF
./buildconf ./buildconf