version 1.1, 2012/02/21 23:47:54
|
version 1.1.1.4, 2013/10/14 08:02:11
|
Line 2
|
Line 2
|
+----------------------------------------------------------------------+ |
+----------------------------------------------------------------------+ |
| PHP Version 5 | |
| PHP Version 5 | |
+----------------------------------------------------------------------+ |
+----------------------------------------------------------------------+ |
| Copyright (c) 1997-2012 The PHP Group | | | Copyright (c) 1997-2013 The PHP Group | |
+----------------------------------------------------------------------+ |
+----------------------------------------------------------------------+ |
| This source file is subject to version 3.0 of the PHP license, | |
| This source file is subject to version 3.0 of the PHP license, | |
| that is bundled with this package in the file LICENSE, and is | |
| that is bundled with this package in the file LICENSE, and is | |
Line 23
|
Line 23
|
#include "config.h" |
#include "config.h" |
#endif |
#endif |
|
|
#include <enchant.h> |
|
#include "php.h" |
#include "php.h" |
#include "php_ini.h" |
#include "php_ini.h" |
#include "ext/standard/info.h" |
#include "ext/standard/info.h" |
|
#include <enchant.h> |
#include "php_enchant.h" |
#include "php_enchant.h" |
|
|
typedef EnchantBroker * EnchantBrokerPtr; |
typedef EnchantBroker * EnchantBrokerPtr; |
Line 124 ZEND_END_ARG_INFO()
|
Line 124 ZEND_END_ARG_INFO()
|
* |
* |
* Every user visible function must have an entry in enchant_functions[]. |
* Every user visible function must have an entry in enchant_functions[]. |
*/ |
*/ |
function_entry enchant_functions[] = { | zend_function_entry enchant_functions[] = { |
PHP_FE(enchant_broker_init, arginfo_enchant_broker_init) |
PHP_FE(enchant_broker_init, arginfo_enchant_broker_init) |
PHP_FE(enchant_broker_free, arginfo_enchant_broker_free) |
PHP_FE(enchant_broker_free, arginfo_enchant_broker_free) |
PHP_FE(enchant_broker_get_error, arginfo_enchant_broker_free) |
PHP_FE(enchant_broker_get_error, arginfo_enchant_broker_free) |
Line 244 static void php_enchant_broker_free(zend_rsrc_list_ent
|
Line 244 static void php_enchant_broker_free(zend_rsrc_list_ent
|
if (broker->pbroker) { |
if (broker->pbroker) { |
if (broker->dictcnt && broker->dict) { |
if (broker->dictcnt && broker->dict) { |
if (broker->dict) { |
if (broker->dict) { |
int total, tofree; | int total; |
tofree = total = broker->dictcnt-1; | total = broker->dictcnt-1; |
do { |
do { |
zend_list_delete(broker->dict[total]->rsrc_id); |
zend_list_delete(broker->dict[total]->rsrc_id); |
efree(broker->dict[total]); |
efree(broker->dict[total]); |
Line 326 PHP_MINFO_FUNCTION(enchant)
|
Line 326 PHP_MINFO_FUNCTION(enchant)
|
#elif defined(HAVE_ENCHANT_BROKER_SET_PARAM) |
#elif defined(HAVE_ENCHANT_BROKER_SET_PARAM) |
php_info_print_table_row(2, "Libenchant Version", "1.5.0 or later"); |
php_info_print_table_row(2, "Libenchant Version", "1.5.0 or later"); |
#endif |
#endif |
php_info_print_table_row(2, "Revision", "$Revision$"); | php_info_print_table_row(2, "Revision", "$Id$"); |
php_info_print_table_end(); |
php_info_print_table_end(); |
|
|
php_info_print_table_start(); |
php_info_print_table_start(); |
Line 357 PHP_FUNCTION(enchant_broker_init)
|
Line 357 PHP_FUNCTION(enchant_broker_init)
|
enchant_broker *broker; |
enchant_broker *broker; |
EnchantBroker *pbroker; |
EnchantBroker *pbroker; |
|
|
if (ZEND_NUM_ARGS()) { | if (zend_parse_parameters_none() == FAILURE) { |
ZEND_WRONG_PARAM_COUNT(); | return; |
} |
} |
|
|
pbroker = enchant_broker_init(); |
pbroker = enchant_broker_init(); |
Line 542 PHP_FUNCTION(enchant_broker_request_dict)
|
Line 542 PHP_FUNCTION(enchant_broker_request_dict)
|
} |
} |
|
|
PHP_ENCHANT_GET_BROKER; |
PHP_ENCHANT_GET_BROKER; |
|
|
|
if (taglen == 0) { |
|
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Tag cannot be empty"); |
|
RETURN_FALSE; |
|
} |
|
|
d = enchant_broker_request_dict(pbroker->pbroker, (const char *)tag); |
d = enchant_broker_request_dict(pbroker->pbroker, (const char *)tag); |
if (d) { |
if (d) { |
Line 586 PHP_FUNCTION(enchant_broker_request_pwl_dict)
|
Line 591 PHP_FUNCTION(enchant_broker_request_pwl_dict)
|
int pwllen; |
int pwllen; |
int pos; |
int pos; |
|
|
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &broker, &pwl, &pwllen) == FAILURE) { | if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rp", &broker, &pwl, &pwllen) == FAILURE) { |
RETURN_FALSE; |
RETURN_FALSE; |
} |
} |
|
|
if (strlen(pwl) != pwllen) { |
|
RETURN_FALSE; |
|
} |
|
|
|
#if PHP_API_VERSION < 20100412 |
#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)) { |
if ((PG(safe_mode) && (!php_checkuid(pwl, NULL, CHECKUID_CHECK_FILE_AND_DIR))) || php_check_open_basedir(pwl TSRMLS_CC)) { |
#else |
#else |
Line 650 PHP_FUNCTION(enchant_broker_free_dict)
|
Line 651 PHP_FUNCTION(enchant_broker_free_dict)
|
/* }}} */ |
/* }}} */ |
|
|
/* {{{ proto bool enchant_broker_dict_exists(resource broker, string tag) |
/* {{{ proto bool enchant_broker_dict_exists(resource broker, string tag) |
Wether a dictionary exists or not. Using non-empty tag */ | Whether a dictionary exists or not. Using non-empty tag */ |
PHP_FUNCTION(enchant_broker_dict_exists) |
PHP_FUNCTION(enchant_broker_dict_exists) |
{ |
{ |
zval *broker; |
zval *broker; |
Line 673 PHP_FUNCTION(enchant_broker_dict_exists)
|
Line 674 PHP_FUNCTION(enchant_broker_dict_exists)
|
described/referred to by 'tag'. The ordering is a comma delimited |
described/referred to by 'tag'. The ordering is a comma delimited |
list of provider names. As a special exception, the "*" tag can |
list of provider names. As a special exception, the "*" tag can |
be used as a language tag to declare a default ordering for any |
be used as a language tag to declare a default ordering for any |
language that does not explictly declare an ordering. */ | language that does not explicitly declare an ordering. */ |
|
|
PHP_FUNCTION(enchant_broker_set_ordering) |
PHP_FUNCTION(enchant_broker_set_ordering) |
{ |
{ |
Line 729 PHP_FUNCTION(enchant_dict_quick_check)
|
Line 730 PHP_FUNCTION(enchant_dict_quick_check)
|
|
|
if (sugg) { |
if (sugg) { |
zval_dtor(sugg); |
zval_dtor(sugg); |
|
array_init(sugg); |
} |
} |
|
|
PHP_ENCHANT_GET_DICT; |
PHP_ENCHANT_GET_DICT; |
Line 741 PHP_FUNCTION(enchant_dict_quick_check)
|
Line 743 PHP_FUNCTION(enchant_dict_quick_check)
|
if (!sugg && ZEND_NUM_ARGS() == 2) { |
if (!sugg && ZEND_NUM_ARGS() == 2) { |
RETURN_FALSE; |
RETURN_FALSE; |
} |
} |
|
|
array_init(sugg); |
|
|
|
suggs = enchant_dict_suggest(pdict->pdict, word, wordlen, &n_sugg_st); |
suggs = enchant_dict_suggest(pdict->pdict, word, wordlen, &n_sugg_st); |
memcpy(&n_sugg, &n_sugg_st, sizeof(n_sugg)); |
memcpy(&n_sugg, &n_sugg_st, sizeof(n_sugg)); |