diff options
author | Ondřej Surý <ondrej@sury.org> | 2010-10-21 08:52:46 +0200 |
---|---|---|
committer | Ondřej Surý <ondrej@sury.org> | 2010-10-21 08:52:46 +0200 |
commit | 01fcdff3849c3691d9aaeaab735846ab6d8895ca (patch) | |
tree | 6460876d356113fa7053df36f2aa00baa7db24a9 /ext/enchant | |
parent | 855a09f4eded707941180c9d90acd17c25e29447 (diff) | |
download | php-01fcdff3849c3691d9aaeaab735846ab6d8895ca.tar.gz |
Imported Upstream version 5.3.3upstream/5.3.3
Diffstat (limited to 'ext/enchant')
-rwxr-xr-x | ext/enchant/enchant.c | 16 | ||||
-rw-r--r-- | ext/enchant/tests/dict_quick_check.phpt | 26 |
2 files changed, 38 insertions, 4 deletions
diff --git a/ext/enchant/enchant.c b/ext/enchant/enchant.c index 87c16e297..2fd93e005 100755 --- a/ext/enchant/enchant.c +++ b/ext/enchant/enchant.c @@ -16,7 +16,7 @@ | Ilia Alshanetsky <ilia@prohost.org> | +----------------------------------------------------------------------+ - $Id: enchant.c 293036 2010-01-03 09:23:27Z sebastian $ + $Id: enchant.c 298870 2010-05-02 05:01:51Z geissert $ */ #ifdef HAVE_CONFIG_H @@ -327,7 +327,7 @@ PHP_MINFO_FUNCTION(enchant) #elif defined(HAVE_ENCHANT_BROKER_SET_PARAM) php_info_print_table_row(2, "Libenchant Version", "1.5.0 or later"); #endif - php_info_print_table_row(2, "Revision", "$Revision: 293036 $"); + php_info_print_table_row(2, "Revision", "$Revision: 298870 $"); php_info_print_table_end(); php_info_print_table_start(); @@ -587,7 +587,11 @@ PHP_FUNCTION(enchant_broker_request_pwl_dict) RETURN_FALSE; } +#if PHP_API_VERSION < 20100412 if ((PG(safe_mode) && (!php_checkuid(pwl, NULL, CHECKUID_CHECK_FILE_AND_DIR))) || php_check_open_basedir(pwl TSRMLS_CC)) { +#else + if (php_check_open_basedir(pwl TSRMLS_CC)) { +#endif RETURN_FALSE; } @@ -724,6 +728,7 @@ PHP_FUNCTION(enchant_dict_quick_check) if (enchant_dict_check(pdict->pdict, word, wordlen) > 0) { int n_sugg; + size_t n_sugg_st; char **suggs; if (!sugg && ZEND_NUM_ARGS() == 2) { @@ -732,7 +737,8 @@ PHP_FUNCTION(enchant_dict_quick_check) array_init(sugg); - suggs = enchant_dict_suggest(pdict->pdict, word, wordlen, (size_t *) &n_sugg); + suggs = enchant_dict_suggest(pdict->pdict, word, wordlen, &n_sugg_st); + memcpy(&n_sugg, &n_sugg_st, sizeof(n_sugg)); if (suggs && n_sugg) { int i; for (i = 0; i < n_sugg; i++) { @@ -777,6 +783,7 @@ PHP_FUNCTION(enchant_dict_suggest) char **suggs; enchant_dict *pdict; int n_sugg; + size_t n_sugg_st; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &dict, &word, &wordlen) == FAILURE) { RETURN_FALSE; @@ -784,7 +791,8 @@ PHP_FUNCTION(enchant_dict_suggest) PHP_ENCHANT_GET_DICT; - suggs = enchant_dict_suggest(pdict->pdict, word, wordlen, (size_t *)&n_sugg); + suggs = enchant_dict_suggest(pdict->pdict, word, wordlen, &n_sugg_st); + memcpy(&n_sugg, &n_sugg_st, sizeof(n_sugg)); if (suggs && n_sugg) { int i; diff --git a/ext/enchant/tests/dict_quick_check.phpt b/ext/enchant/tests/dict_quick_check.phpt new file mode 100644 index 000000000..3412de1b7 --- /dev/null +++ b/ext/enchant/tests/dict_quick_check.phpt @@ -0,0 +1,26 @@ +--TEST-- +enchant_dict_quick_check() basic test +--SKIPIF-- +<?php +if(!extension_loaded('enchant')) die('skip, enchant not loader'); + +$tag = 'en_US'; +$r = enchant_broker_init(); +if (!enchant_broker_dict_exists($r, $tag)) + die('skip, no dictionary for ' . $tag . ' tag'); +?> +--FILE-- +<?php + +$tag = 'en_US'; +$r = enchant_broker_init(); + +$d = enchant_broker_request_dict($r, $tag); +enchant_dict_quick_check($d, 'soong', $suggs); + +echo "Elements: " . count($suggs) . "\n"; +echo "Done\n"; +?> +--EXPECTF-- +Elements: %d +Done |