From: Remi Collet Date: Wed, 13 May 2020 13:56:14 +0000 (+0200) Subject: Revert "convert enchant resources to objects of new classes - EnchantBroker - Enchant... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5318971bc50184eb35d658a6523ca95258869aa7;p=php Revert "convert enchant resources to objects of new classes - EnchantBroker - EnchantDict add OO interface deprecate enchant_broker_free* (use unset instead) deprecate ENCHANT_MYSPELL and ENCHANT_ISPELL constants" This reverts commit 7db4c24a37c96b3961cb1989ab71941e115b0fac. --- diff --git a/ext/enchant/enchant.c b/ext/enchant/enchant.c index 55a76d29da..8de6924b8e 100644 --- a/ext/enchant/enchant.c +++ b/ext/enchant/enchant.c @@ -22,62 +22,38 @@ #include "php.h" #include "php_ini.h" #include "ext/standard/info.h" -#include "Zend/zend_interfaces.h" -#include "Zend/zend_exceptions.h" -#include "../spl/spl_exceptions.h" #include #include "php_enchant.h" #include "enchant_arginfo.h" -typedef struct _broker_struct { - EnchantBroker *pbroker; - int nb_dict; - zend_object std; -} enchant_broker; - -typedef struct _dict_struct { - EnchantDict *pdict; - zval zbroker; - zend_object std; -} enchant_dict; - -zend_class_entry *enchant_broker_ce; -static zend_object_handlers enchant_broker_handlers; - -static inline enchant_broker *enchant_broker_from_obj(zend_object *obj) { - return (enchant_broker *)((char *)(obj) - XtOffsetOf(enchant_broker, std)); -} - -#define Z_ENCHANT_BROKER_P(zv) enchant_broker_from_obj(Z_OBJ_P(zv)) - -static zend_object *enchant_broker_create_object(zend_class_entry *class_type) { - enchant_broker *intern = zend_object_alloc(sizeof(enchant_broker), class_type); +typedef EnchantBroker * EnchantBrokerPtr; +typedef struct _broker_struct enchant_broker; +typedef struct _dict_struct enchant_dict; - zend_object_std_init(&intern->std, class_type); - object_properties_init(&intern->std, class_type); - intern->std.handlers = &enchant_broker_handlers; +typedef enchant_broker * enchant_brokerPtr; +typedef enchant_dict * enchant_dictPtr; - return &intern->std; -} - -zend_class_entry *enchant_dict_ce; -static zend_object_handlers enchant_dict_handlers; - -static inline enchant_dict *enchant_dict_from_obj(zend_object *obj) { - return (enchant_dict *)((char *)(obj) - XtOffsetOf(enchant_dict, std)); -} +typedef struct _broker_struct { + EnchantBroker *pbroker; + enchant_dict **dict; + unsigned int dictcnt; + zend_resource *rsrc; +} _enchant_broker; -#define Z_ENCHANT_DICT_P(zv) enchant_dict_from_obj(Z_OBJ_P(zv)) +typedef struct _dict_struct { + unsigned int id; + EnchantDict *pdict; + enchant_broker *pbroker; + zend_resource *rsrc; +} _enchant_dict; -static zend_object *enchant_dict_create_object(zend_class_entry *class_type) { - enchant_dict *intern = zend_object_alloc(sizeof(enchant_dict), class_type); - zend_object_std_init(&intern->std, class_type); - object_properties_init(&intern->std, class_type); - intern->std.handlers = &enchant_dict_handlers; +/* True global resources - no need for thread safety here */ +static int le_enchant_broker; +static int le_enchant_dict; - return &intern->std; -} +/* If you declare any globals in php_enchant.h uncomment this:*/ +/*ZEND_DECLARE_MODULE_GLOBALS(enchant)*/ #define PHP_ENCHANT_MYSPELL 1 #define PHP_ENCHANT_ISPELL 2 @@ -162,34 +138,54 @@ static void php_enchant_list_dicts_fn( const char * const lang_tag, } /* }}} */ -static void php_enchant_broker_free(zend_object *object) /* {{{ */ -{ - enchant_broker *broker = enchant_broker_from_obj(object); - - if (broker->pbroker) { /* may have been freed by enchant_broker_free */ - enchant_broker_free(broker->pbroker); - broker->pbroker = NULL; +static void php_enchant_broker_free(zend_resource *rsrc) /* {{{ */ +{ + if (rsrc->ptr) { + enchant_broker *broker = (enchant_broker *)rsrc->ptr; + if (broker) { + if (broker->pbroker) { + if (broker->dictcnt && broker->dict) { + if (broker->dict) { + int total; + total = broker->dictcnt-1; + do { + if (broker->dict[total]) { + enchant_dict *pdict = broker->dict[total]; + broker->dict[total] = NULL; + zend_list_free(pdict->rsrc); + efree(pdict); + } + total--; + } while (total>=0); + } + efree(broker->dict); + broker->dict = NULL; + } + enchant_broker_free(broker->pbroker); + } + efree(broker); + } } - zend_object_std_dtor(object); } /* }}} */ -static void php_enchant_dict_free(zend_object *object) /* {{{ */ +static void php_enchant_dict_free(zend_resource *rsrc) /* {{{ */ { - enchant_dict *dict = enchant_dict_from_obj(object); + if (rsrc->ptr) { + enchant_dict *pdict = (enchant_dict *)rsrc->ptr; + if (pdict) { + enchant_broker *pbroker = pdict->pbroker; - if (dict->pdict) { /* may have been freed by enchant_broker_free_dict */ - enchant_broker *broker = Z_ENCHANT_BROKER_P(&dict->zbroker); + if (pdict->pdict && pbroker) { + enchant_broker_free_dict(pbroker->pbroker, pdict->pdict); + } - if (broker && broker->pbroker) { - enchant_broker_free_dict(broker->pbroker, dict->pdict); - broker->nb_dict--; - zval_ptr_dtor(&dict->zbroker); + pbroker->dict[pdict->id] = NULL; + efree(pdict); + zend_list_delete(pbroker->rsrc); } - dict->pdict = NULL; } - zend_object_std_dtor(object); } /* }}} */ @@ -197,34 +193,10 @@ static void php_enchant_dict_free(zend_object *object) /* {{{ */ */ PHP_MINIT_FUNCTION(enchant) { - zend_class_entry bce, dce; - - INIT_CLASS_ENTRY(bce, "EnchantBroker", class_EnchantBroker_methods); - enchant_broker_ce = zend_register_internal_class(&bce); - enchant_broker_ce->ce_flags |= ZEND_ACC_FINAL; - enchant_broker_ce->create_object = enchant_broker_create_object; - enchant_broker_ce->serialize = zend_class_serialize_deny; - enchant_broker_ce->unserialize = zend_class_unserialize_deny; - - memcpy(&enchant_broker_handlers, &std_object_handlers, sizeof(zend_object_handlers)); - enchant_broker_handlers.offset = XtOffsetOf(enchant_broker, std); - enchant_broker_handlers.free_obj = php_enchant_broker_free; - enchant_broker_handlers.clone_obj = NULL; - - INIT_CLASS_ENTRY(dce, "EnchantDict", class_EnchantDict_methods); - enchant_dict_ce = zend_register_internal_class(&dce); - enchant_dict_ce->ce_flags |= ZEND_ACC_FINAL; - enchant_dict_ce->create_object = enchant_dict_create_object; - enchant_dict_ce->serialize = zend_class_serialize_deny; - enchant_dict_ce->unserialize = zend_class_unserialize_deny; - - memcpy(&enchant_dict_handlers, &std_object_handlers, sizeof(zend_object_handlers)); - enchant_dict_handlers.offset = XtOffsetOf(enchant_dict, std); - enchant_dict_handlers.free_obj = php_enchant_dict_free; - enchant_dict_handlers.clone_obj = NULL; - - REGISTER_LONG_CONSTANT("ENCHANT_MYSPELL", PHP_ENCHANT_MYSPELL, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED); - REGISTER_LONG_CONSTANT("ENCHANT_ISPELL", PHP_ENCHANT_ISPELL, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED); + le_enchant_broker = zend_register_list_destructors_ex(php_enchant_broker_free, NULL, "enchant_broker", module_number); + 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 @@ -273,17 +245,17 @@ PHP_MINFO_FUNCTION(enchant) /* }}} */ #define PHP_ENCHANT_GET_BROKER \ - pbroker = Z_ENCHANT_BROKER_P(broker); \ - if (!pbroker->pbroker) { \ - zend_value_error("Invalid or uninitialized EnchantBroker object"); \ - RETURN_THROWS(); \ + pbroker = (enchant_broker *)zend_fetch_resource(Z_RES_P(broker), "enchant_broker", le_enchant_broker); \ + if (!pbroker || !pbroker->pbroker) { \ + php_error_docref(NULL, E_WARNING, "Resource broker invalid"); \ + RETURN_FALSE; \ } #define PHP_ENCHANT_GET_DICT \ - pdict = Z_ENCHANT_DICT_P(dict); \ - if (!pdict->pdict) { \ - zend_value_error("Invalid or uninitialized EnchantDict object"); \ - RETURN_THROWS(); \ + pdict = (enchant_dict *)zend_fetch_resource(Z_RES_P(dict), "enchant_dict", le_enchant_dict); \ + if (!pdict || !pdict->pdict) { \ + php_error_docref(NULL, E_WARNING, "Invalid dictionary resource."); \ + RETURN_FALSE; \ } /* {{{ proto resource enchant_broker_init() @@ -292,24 +264,20 @@ PHP_FUNCTION(enchant_broker_init) { enchant_broker *broker; EnchantBroker *pbroker; - zval *this = getThis(); if (zend_parse_parameters_none() == FAILURE) { RETURN_THROWS(); } pbroker = enchant_broker_init(); + if (pbroker) { - if (this) { - broker = Z_ENCHANT_BROKER_P(this); - } else { - object_init_ex(return_value, enchant_broker_ce); - broker = Z_ENCHANT_BROKER_P(return_value); - } + broker = (enchant_broker *) emalloc(sizeof(enchant_broker)); broker->pbroker = pbroker; - broker->nb_dict = 0; - } else if (this) { - zend_throw_exception(spl_ce_RuntimeException, "Can't create a new EnchantBroker", 0); + broker->dict = NULL; + broker->dictcnt = 0; + broker->rsrc = zend_register_resource(broker, le_enchant_broker); + RETURN_RES(broker->rsrc); } else { RETURN_FALSE; } @@ -323,19 +291,12 @@ PHP_FUNCTION(enchant_broker_free) zval *broker; enchant_broker *pbroker; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "O", &broker, enchant_broker_ce) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "r", &broker) == FAILURE) { RETURN_THROWS(); } PHP_ENCHANT_GET_BROKER; - if (pbroker->nb_dict > 0) { - php_error_docref(NULL, E_WARNING, "Cannot free EnchantBroker object with open EnchantDict objects"); - RETURN_FALSE; - } - if (pbroker->pbroker) { - enchant_broker_free(pbroker->pbroker); - pbroker->pbroker = NULL; - } + zend_list_close(Z_RES_P(broker)); RETURN_TRUE; } /* }}} */ @@ -348,7 +309,7 @@ PHP_FUNCTION(enchant_broker_get_error) enchant_broker *pbroker; const char *msg; - if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "O", &broker, enchant_broker_ce) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "r", &broker) == FAILURE) { RETURN_THROWS(); } @@ -373,7 +334,7 @@ PHP_FUNCTION(enchant_broker_set_dict_path) char *value; size_t value_len; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "Ols", &broker, enchant_broker_ce, &dict_type, &value, &value_len) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "rls", &broker, &dict_type, &value, &value_len) == FAILURE) { RETURN_THROWS(); } @@ -412,7 +373,7 @@ PHP_FUNCTION(enchant_broker_get_dict_path) zend_long dict_type; char *value; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "Ol", &broker, enchant_broker_ce, &dict_type) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "rl", &broker, &dict_type) == FAILURE) { RETURN_THROWS(); } @@ -467,7 +428,7 @@ PHP_FUNCTION(enchant_broker_list_dicts) zval *broker; enchant_broker *pbroker; - if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "O", &broker, enchant_broker_ce) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "r", &broker) == FAILURE) { RETURN_THROWS(); } @@ -485,11 +446,12 @@ PHP_FUNCTION(enchant_broker_request_dict) zval *broker; enchant_broker *pbroker; enchant_dict *dict; - EnchantDict *pdict; + EnchantDict *d; char *tag; size_t taglen; + int pos; - if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "Os", &broker, enchant_broker_ce, &tag, &taglen) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "rs", &broker, &tag, &taglen) == FAILURE) { RETURN_THROWS(); } @@ -500,63 +462,27 @@ PHP_FUNCTION(enchant_broker_request_dict) RETURN_FALSE; } - pdict = enchant_broker_request_dict(pbroker->pbroker, (const char *)tag); - if (pdict) { - pbroker->nb_dict++; - - object_init_ex(return_value, enchant_dict_ce); - dict = Z_ENCHANT_DICT_P(return_value); - dict->pdict =pdict; - ZVAL_COPY(&dict->zbroker, broker); - } else if (getThis()) { - const char *err = enchant_broker_get_error(pbroker->pbroker); - zend_throw_exception_ex(spl_ce_RuntimeException, 0, "%s", err ? err : "Can't create a new EnchantDict"); - } else { - RETURN_FALSE; - } -} -/* }}} */ - -/* {{{ proto resource EnchantDict::__construct(resource broker, string tag [, string pwl]) - create a new dictionary using tag or pwl */ -PHP_METHOD(EnchantDict, __construct) -{ - zval *broker; - enchant_broker *pbroker; - enchant_dict *dict; - EnchantDict *pdict; - char *tag, *pwl = NULL; - size_t taglen, pwllen = 0; - - if (zend_parse_parameters(ZEND_NUM_ARGS(), "Os|p", &broker, enchant_broker_ce, &tag, &taglen, &pwl, &pwllen) == FAILURE) { - RETURN_THROWS(); - } - - PHP_ENCHANT_GET_BROKER; - - if (pwllen) { - if (php_check_open_basedir_ex(pwl, 0)) { - zend_throw_exception(NULL, "Open_basedir restriction in effect", 0); - RETURN_THROWS(); - } - pdict = enchant_broker_request_pwl_dict(pbroker->pbroker, pwl); - } else { - if (taglen == 0) { - zend_value_error("Tag cannot be empty"); - RETURN_THROWS(); + d = enchant_broker_request_dict(pbroker->pbroker, (const char *)tag); + if (d) { + pos = pbroker->dictcnt++; + if (pbroker->dictcnt) { + pbroker->dict = (enchant_dict **)erealloc(pbroker->dict, sizeof(enchant_dict *) * pbroker->dictcnt); + } else { + pbroker->dict = (enchant_dict **)emalloc(sizeof(enchant_dict *)); + pos = 0; } - pdict = enchant_broker_request_dict(pbroker->pbroker, (const char *)tag); - } - if (pdict) { - pbroker->nb_dict++; + dict = pbroker->dict[pos] = (enchant_dict *)emalloc(sizeof(enchant_dict)); + dict->id = pos; + dict->pbroker = pbroker; + dict->pdict = d; + pbroker->dict[pos] = dict; - dict = Z_ENCHANT_DICT_P(ZEND_THIS); - dict->pdict =pdict; - ZVAL_COPY(&dict->zbroker, broker); + dict->rsrc = zend_register_resource(dict, le_enchant_dict); + GC_ADDREF(pbroker->rsrc); + RETURN_RES(dict->rsrc); } else { - const char *err = enchant_broker_get_error(pbroker->pbroker); - zend_throw_exception_ex(spl_ce_RuntimeException, 0, "%s", err ? err : "Can't create a new EnchantDict"); + RETURN_FALSE; } } /* }}} */ @@ -568,11 +494,12 @@ PHP_FUNCTION(enchant_broker_request_pwl_dict) zval *broker; enchant_broker *pbroker; enchant_dict *dict; - EnchantDict *pdict; - const char *pwl; + EnchantDict *d; + char *pwl; size_t pwllen; + int pos; - if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "Op", &broker, enchant_broker_ce, &pwl, &pwllen) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "rp", &broker, &pwl, &pwllen) == FAILURE) { RETURN_THROWS(); } @@ -582,17 +509,25 @@ PHP_FUNCTION(enchant_broker_request_pwl_dict) PHP_ENCHANT_GET_BROKER; - pdict = enchant_broker_request_pwl_dict(pbroker->pbroker, pwl); - if (pdict) { - pbroker->nb_dict++; - - object_init_ex(return_value, enchant_dict_ce); - dict = Z_ENCHANT_DICT_P(return_value); - dict->pdict = pdict; - ZVAL_COPY(&dict->zbroker, broker); - } else if (getThis()) { - const char *err = enchant_broker_get_error(pbroker->pbroker); - zend_throw_exception_ex(spl_ce_RuntimeException, 0, "%s", err ? err : "Can't create a new EnchantDict"); + d = enchant_broker_request_pwl_dict(pbroker->pbroker, (const char *)pwl); + if (d) { + pos = pbroker->dictcnt++; + if (pbroker->dictcnt) { + pbroker->dict = (enchant_dict **)erealloc(pbroker->dict, sizeof(enchant_dict *) * pbroker->dictcnt); + } else { + pbroker->dict = (enchant_dict **)emalloc(sizeof(enchant_dict *)); + pos = 0; + } + + dict = pbroker->dict[pos] = (enchant_dict *)emalloc(sizeof(enchant_dict)); + dict->id = pos; + dict->pbroker = pbroker; + dict->pdict = d; + pbroker->dict[pos] = dict; + + dict->rsrc = zend_register_resource(dict, le_enchant_dict); + GC_ADDREF(pbroker->rsrc); + RETURN_RES(dict->rsrc); } else { RETURN_FALSE; } @@ -606,23 +541,13 @@ PHP_FUNCTION(enchant_broker_free_dict) zval *dict; enchant_dict *pdict; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "O", &dict, enchant_dict_ce) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "r", &dict) == FAILURE) { RETURN_THROWS(); } PHP_ENCHANT_GET_DICT; - if (pdict->pdict) { - enchant_broker *broker = Z_ENCHANT_BROKER_P(&pdict->zbroker); - - if (broker && broker->pbroker) { - enchant_broker_free_dict(broker->pbroker, pdict->pdict); - broker->nb_dict--; - zval_ptr_dtor(&pdict->zbroker); - } - pdict->pdict = NULL; - } - + zend_list_close(Z_RES_P(dict)); RETURN_TRUE; } /* }}} */ @@ -636,7 +561,7 @@ PHP_FUNCTION(enchant_broker_dict_exists) size_t taglen; enchant_broker * pbroker; - if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "Os", &broker, enchant_broker_ce, &tag, &taglen) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "rs", &broker, &tag, &taglen) == FAILURE) { RETURN_THROWS(); } @@ -662,7 +587,7 @@ PHP_FUNCTION(enchant_broker_set_ordering) size_t ptaglen; enchant_broker * pbroker; - if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "Oss", &broker, enchant_broker_ce, &ptag, &ptaglen, &pordering, &porderinglen) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "rss", &broker, &ptag, &ptaglen, &pordering, &porderinglen) == FAILURE) { RETURN_THROWS(); } @@ -681,7 +606,7 @@ PHP_FUNCTION(enchant_broker_describe) zval *broker; enchant_broker * pbroker; - if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "O", &broker, enchant_broker_ce) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "r", &broker) == FAILURE) { RETURN_THROWS(); } @@ -701,7 +626,7 @@ PHP_FUNCTION(enchant_dict_quick_check) size_t wordlen; enchant_dict *pdict; - if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "Os|z", &dict, enchant_dict_ce, &word, &wordlen, &sugg) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "rs|z", &dict, &word, &wordlen, &sugg) == FAILURE) { RETURN_THROWS(); } @@ -731,9 +656,9 @@ PHP_FUNCTION(enchant_dict_quick_check) enchant_dict_free_string_list(pdict->pdict, suggs); } - RETURN_FALSE; } + RETURN_TRUE; } /* }}} */ @@ -747,7 +672,7 @@ PHP_FUNCTION(enchant_dict_check) size_t wordlen; enchant_dict *pdict; - if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "Os", &dict, enchant_dict_ce, &word, &wordlen) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "rs", &dict, &word, &wordlen) == FAILURE) { RETURN_THROWS(); } @@ -768,7 +693,7 @@ PHP_FUNCTION(enchant_dict_suggest) enchant_dict *pdict; size_t n_sugg; - if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "Os", &dict, enchant_dict_ce, &word, &wordlen) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "rs", &dict, &word, &wordlen) == FAILURE) { RETURN_THROWS(); } @@ -797,7 +722,7 @@ PHP_FUNCTION(enchant_dict_add) size_t wordlen; enchant_dict *pdict; - if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "Os", &dict, enchant_dict_ce, &word, &wordlen) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "rs", &dict, &word, &wordlen) == FAILURE) { RETURN_THROWS(); } @@ -816,7 +741,7 @@ PHP_FUNCTION(enchant_dict_add_to_session) size_t wordlen; enchant_dict *pdict; - if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "Os", &dict, enchant_dict_ce, &word, &wordlen) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "rs", &dict, &word, &wordlen) == FAILURE) { RETURN_THROWS(); } @@ -835,7 +760,7 @@ PHP_FUNCTION(enchant_dict_is_added) size_t wordlen; enchant_dict *pdict; - if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "Os", &dict, enchant_dict_ce, &word, &wordlen) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "rs", &dict, &word, &wordlen) == FAILURE) { RETURN_THROWS(); } @@ -858,7 +783,7 @@ PHP_FUNCTION(enchant_dict_store_replacement) enchant_dict *pdict; - if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "Oss", &dict, enchant_dict_ce, &mis, &mislen, &cor, &corlen) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "rss", &dict, &mis, &mislen, &cor, &corlen) == FAILURE) { RETURN_THROWS(); } @@ -876,7 +801,7 @@ PHP_FUNCTION(enchant_dict_get_error) enchant_dict *pdict; const char *msg; - if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "O", &dict, enchant_dict_ce) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "r", &dict) == FAILURE) { RETURN_THROWS(); } @@ -898,7 +823,7 @@ PHP_FUNCTION(enchant_dict_describe) zval *dict; enchant_dict *pdict; - if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "O", &dict, enchant_dict_ce) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "r", &dict) == FAILURE) { RETURN_THROWS(); } diff --git a/ext/enchant/enchant.stub.php b/ext/enchant/enchant.stub.php index cc1cb730fc..f4bed54dc1 100644 --- a/ext/enchant/enchant.stub.php +++ b/ext/enchant/enchant.stub.php @@ -2,129 +2,94 @@ /** @generate-function-entries */ -final class EnchantBroker -{ - /** @alias enchant_broker_init */ - public function __construct() {} +/** @return resource|false */ +function enchant_broker_init() {} - /** @alias enchant_broker_get_error */ - public function getError(): string|false {} - - /** @alias enchant_broker_list_dicts */ - public function listDicts(): ?array {} - - /** @alias enchant_broker_request_dict */ - public function requestDict(string $tag): EnchantDict|false {} - - /** @alias enchant_broker_request_pwl_dict */ - public function requestPWL(string $filename): EnchantDict|false {} - - /** @alias enchant_broker_dict_exists */ - public function isDict(string $tag): bool {} - - /** @alias enchant_broker_set_ordering */ - public function setOrdering(string $tag, string $ordering): bool {} - - /** @alias enchant_broker_describe */ - public function describe(): ?array {} -} - -final class EnchantDict -{ - public function __construct(EnchantBroker $broker, string $tag, ?string $pwl = null) {} - - /** @alias enchant_dict_quick_check */ - public function checkAndSuggest(string $word, &$suggestions = null): bool {} - - /** @alias enchant_dict_check */ - public function check(string $word): bool {} - - /** @alias enchant_dict_suggest */ - public function suggest(string $word): ?array {} - - /** @alias enchant_dict_add */ - public function add(string $word): void {} - - /** @alias enchant_dict_add_to_session */ - public function addToSession(string $word): void {} - - /** @alias enchant_dict_is_added */ - public function isAdded(string $word): bool {} - - /** @alias enchant_dict_store_replacement */ - public function storeReplacement(string $mis, string $cor): void {} - - /** @alias enchant_dict_get_error */ - public function getError(): string|false {} - - /** @alias enchant_dict_describe */ - public function describe(): array {} -} - -function enchant_broker_init(): EnchantBroker|false {} +/** @param resource $broker */ +function enchant_broker_free($broker): bool {} /** -* @deprecated +* @param resource $broker +* @return string|false */ -function enchant_broker_free(EnchantBroker $broker): bool {} - -function enchant_broker_get_error(EnchantBroker $broker): string|false {} +function enchant_broker_get_error($broker) {} /** +* @param resource $broker * @deprecated */ -function enchant_broker_set_dict_path(EnchantBroker $broker, int $name, string $value): bool {} +function enchant_broker_set_dict_path($broker, int $name, string $value): bool {} /** +* @param resource $broker * @deprecated */ -function enchant_broker_get_dict_path(EnchantBroker $broker, int $name): string|false {} - -function enchant_broker_list_dicts(EnchantBroker $broker): ?array {} +function enchant_broker_get_dict_path($broker, int $name): string|false {} -function enchant_broker_request_dict(EnchantBroker $broker, string $tag): EnchantDict|false {} +/** @param resource $broker */ +function enchant_broker_list_dicts($broker): ?array {} -function enchant_broker_request_pwl_dict(EnchantBroker $broker, string $filename): EnchantDict|false {} +/** + * @param resource $broker + * @return resource|false + */ +function enchant_broker_request_dict($broker, string $tag) {} /** -* @deprecated -*/ -function enchant_broker_free_dict(EnchantDict $dict): bool {} + * @param resource $broker + * @return resource|false + */ +function enchant_broker_request_pwl_dict($broker, string $filename) {} -function enchant_broker_dict_exists(EnchantBroker $broker, string $tag): bool {} +/** @param resource $dict */ +function enchant_broker_free_dict($dict): bool {} -function enchant_broker_set_ordering(EnchantBroker $broker, string $tag, string $ordering): bool {} +/** @param resource $broker */ +function enchant_broker_dict_exists($broker, string $tag): bool {} -function enchant_broker_describe(EnchantBroker $broker): ?array {} +/** @param resource $broker */ +function enchant_broker_set_ordering($broker, string $tag, string $ordering): bool {} -function enchant_dict_quick_check(EnchantDict $dict, string $word, &$suggestions = null): bool {} +/** @param resource $broker */ +function enchant_broker_describe($broker): ?array {} -function enchant_dict_check(EnchantDict $dict, string $word): bool {} +/** @param resource $dict */ +function enchant_dict_quick_check($dict, string $word, &$suggestions = null): bool {} -function enchant_dict_suggest(EnchantDict $dict, string $word): ?array {} +/** @param resource $dict */ +function enchant_dict_check($dict, string $word): bool {} -function enchant_dict_add(EnchantDict $dict, string $word): void {} +/** @param resource $dict */ +function enchant_dict_suggest($dict, string $word): ?array {} + +/** @param resource $dict */ +function enchant_dict_add($dict, string $word): void {} /** +* @param resource $dict * @alias enchant_dict_add * @deprecated */ -function enchant_dict_add_to_personal(EnchantDict $dict, string $word): void {} +function enchant_dict_add_to_personal($dict, string $word): void {} -function enchant_dict_add_to_session(EnchantDict $dict, string $word): void {} +/** @param resource $dict */ +function enchant_dict_add_to_session($dict, string $word): void {} -function enchant_dict_is_added(EnchantDict $dict, string $word): bool {} +/** @param resource $dict */ +function enchant_dict_is_added($dict, string $word): bool {} /** * @param resource $dict * @alias enchant_dict_is_added * @deprecated */ -function enchant_dict_is_in_session(EnchantDict $dict, string $word): bool {} - -function enchant_dict_store_replacement(EnchantDict $dict, string $mis, string $cor): void {} +function enchant_dict_is_in_session($dict, string $word): bool {} -function enchant_dict_get_error(EnchantDict $dict): string|false {} +/** @param resource $dict */ +function enchant_dict_store_replacement($dict, string $mis, string $cor): void {} -function enchant_dict_describe(EnchantDict $dict): array {} +/** @param resource $dict */ +function enchant_dict_get_error($dict): string|false {} +/** @param resource $dict */ +function enchant_dict_describe($dict): array {} diff --git a/ext/enchant/enchant_arginfo.h b/ext/enchant/enchant_arginfo.h index 4973d80b37..07492a1cae 100644 --- a/ext/enchant/enchant_arginfo.h +++ b/ext/enchant/enchant_arginfo.h @@ -1,52 +1,52 @@ /* This is a generated file, edit the .stub.php file instead. */ -ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_enchant_broker_init, 0, 0, EnchantBroker, MAY_BE_FALSE) +ZEND_BEGIN_ARG_INFO_EX(arginfo_enchant_broker_init, 0, 0, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_enchant_broker_free, 0, 1, _IS_BOOL, 0) - ZEND_ARG_OBJ_INFO(0, broker, EnchantBroker, 0) + ZEND_ARG_INFO(0, broker) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_enchant_broker_get_error, 0, 1, MAY_BE_STRING|MAY_BE_FALSE) - ZEND_ARG_OBJ_INFO(0, broker, EnchantBroker, 0) +ZEND_BEGIN_ARG_INFO_EX(arginfo_enchant_broker_get_error, 0, 0, 1) + ZEND_ARG_INFO(0, broker) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_enchant_broker_set_dict_path, 0, 3, _IS_BOOL, 0) - ZEND_ARG_OBJ_INFO(0, broker, EnchantBroker, 0) + ZEND_ARG_INFO(0, broker) ZEND_ARG_TYPE_INFO(0, name, IS_LONG, 0) ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_enchant_broker_get_dict_path, 0, 2, MAY_BE_STRING|MAY_BE_FALSE) - ZEND_ARG_OBJ_INFO(0, broker, EnchantBroker, 0) + ZEND_ARG_INFO(0, broker) ZEND_ARG_TYPE_INFO(0, name, IS_LONG, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_enchant_broker_list_dicts, 0, 1, IS_ARRAY, 1) - ZEND_ARG_OBJ_INFO(0, broker, EnchantBroker, 0) + ZEND_ARG_INFO(0, broker) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_enchant_broker_request_dict, 0, 2, EnchantDict, MAY_BE_FALSE) - ZEND_ARG_OBJ_INFO(0, broker, EnchantBroker, 0) +ZEND_BEGIN_ARG_INFO_EX(arginfo_enchant_broker_request_dict, 0, 0, 2) + ZEND_ARG_INFO(0, broker) ZEND_ARG_TYPE_INFO(0, tag, IS_STRING, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_enchant_broker_request_pwl_dict, 0, 2, EnchantDict, MAY_BE_FALSE) - ZEND_ARG_OBJ_INFO(0, broker, EnchantBroker, 0) +ZEND_BEGIN_ARG_INFO_EX(arginfo_enchant_broker_request_pwl_dict, 0, 0, 2) + ZEND_ARG_INFO(0, broker) ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_enchant_broker_free_dict, 0, 1, _IS_BOOL, 0) - ZEND_ARG_OBJ_INFO(0, dict, EnchantDict, 0) + ZEND_ARG_INFO(0, dict) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_enchant_broker_dict_exists, 0, 2, _IS_BOOL, 0) - ZEND_ARG_OBJ_INFO(0, broker, EnchantBroker, 0) + ZEND_ARG_INFO(0, broker) ZEND_ARG_TYPE_INFO(0, tag, IS_STRING, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_enchant_broker_set_ordering, 0, 3, _IS_BOOL, 0) - ZEND_ARG_OBJ_INFO(0, broker, EnchantBroker, 0) + ZEND_ARG_INFO(0, broker) ZEND_ARG_TYPE_INFO(0, tag, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, ordering, IS_STRING, 0) ZEND_END_ARG_INFO() @@ -54,23 +54,23 @@ ZEND_END_ARG_INFO() #define arginfo_enchant_broker_describe arginfo_enchant_broker_list_dicts ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_enchant_dict_quick_check, 0, 2, _IS_BOOL, 0) - ZEND_ARG_OBJ_INFO(0, dict, EnchantDict, 0) + ZEND_ARG_INFO(0, dict) ZEND_ARG_TYPE_INFO(0, word, IS_STRING, 0) ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, suggestions, "null") ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_enchant_dict_check, 0, 2, _IS_BOOL, 0) - ZEND_ARG_OBJ_INFO(0, dict, EnchantDict, 0) + ZEND_ARG_INFO(0, dict) ZEND_ARG_TYPE_INFO(0, word, IS_STRING, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_enchant_dict_suggest, 0, 2, IS_ARRAY, 1) - ZEND_ARG_OBJ_INFO(0, dict, EnchantDict, 0) + ZEND_ARG_INFO(0, dict) ZEND_ARG_TYPE_INFO(0, word, IS_STRING, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_enchant_dict_add, 0, 2, IS_VOID, 0) - ZEND_ARG_OBJ_INFO(0, dict, EnchantDict, 0) + ZEND_ARG_INFO(0, dict) ZEND_ARG_TYPE_INFO(0, word, IS_STRING, 0) ZEND_END_ARG_INFO() @@ -83,82 +83,17 @@ ZEND_END_ARG_INFO() #define arginfo_enchant_dict_is_in_session arginfo_enchant_dict_check ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_enchant_dict_store_replacement, 0, 3, IS_VOID, 0) - ZEND_ARG_OBJ_INFO(0, dict, EnchantDict, 0) + ZEND_ARG_INFO(0, dict) ZEND_ARG_TYPE_INFO(0, mis, IS_STRING, 0) ZEND_ARG_TYPE_INFO(0, cor, IS_STRING, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_enchant_dict_get_error, 0, 1, MAY_BE_STRING|MAY_BE_FALSE) - ZEND_ARG_OBJ_INFO(0, dict, EnchantDict, 0) + ZEND_ARG_INFO(0, dict) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_enchant_dict_describe, 0, 1, IS_ARRAY, 0) - ZEND_ARG_OBJ_INFO(0, dict, EnchantDict, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_EnchantBroker___construct, 0, 0, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_EnchantBroker_getError, 0, 0, MAY_BE_STRING|MAY_BE_FALSE) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_EnchantBroker_listDicts, 0, 0, IS_ARRAY, 1) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_EnchantBroker_requestDict, 0, 1, EnchantDict, MAY_BE_FALSE) - ZEND_ARG_TYPE_INFO(0, tag, IS_STRING, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_EnchantBroker_requestPWL, 0, 1, EnchantDict, MAY_BE_FALSE) - ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_EnchantBroker_isDict, 0, 1, _IS_BOOL, 0) - ZEND_ARG_TYPE_INFO(0, tag, IS_STRING, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_EnchantBroker_setOrdering, 0, 2, _IS_BOOL, 0) - ZEND_ARG_TYPE_INFO(0, tag, IS_STRING, 0) - ZEND_ARG_TYPE_INFO(0, ordering, IS_STRING, 0) -ZEND_END_ARG_INFO() - -#define arginfo_class_EnchantBroker_describe arginfo_class_EnchantBroker_listDicts - -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_EnchantDict___construct, 0, 0, 2) - ZEND_ARG_OBJ_INFO(0, broker, EnchantBroker, 0) - ZEND_ARG_TYPE_INFO(0, tag, IS_STRING, 0) - ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, pwl, IS_STRING, 1, "null") -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_EnchantDict_checkAndSuggest, 0, 1, _IS_BOOL, 0) - ZEND_ARG_TYPE_INFO(0, word, IS_STRING, 0) - ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, suggestions, "null") -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_EnchantDict_check, 0, 1, _IS_BOOL, 0) - ZEND_ARG_TYPE_INFO(0, word, IS_STRING, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_EnchantDict_suggest, 0, 1, IS_ARRAY, 1) - ZEND_ARG_TYPE_INFO(0, word, IS_STRING, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_EnchantDict_add, 0, 1, IS_VOID, 0) - ZEND_ARG_TYPE_INFO(0, word, IS_STRING, 0) -ZEND_END_ARG_INFO() - -#define arginfo_class_EnchantDict_addToSession arginfo_class_EnchantDict_add - -#define arginfo_class_EnchantDict_isAdded arginfo_class_EnchantDict_check - -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_EnchantDict_storeReplacement, 0, 2, IS_VOID, 0) - ZEND_ARG_TYPE_INFO(0, mis, IS_STRING, 0) - ZEND_ARG_TYPE_INFO(0, cor, IS_STRING, 0) -ZEND_END_ARG_INFO() - -#define arginfo_class_EnchantDict_getError arginfo_class_EnchantBroker_getError - -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_EnchantDict_describe, 0, 0, IS_ARRAY, 0) + ZEND_ARG_INFO(0, dict) ZEND_END_ARG_INFO() @@ -183,19 +118,18 @@ ZEND_FUNCTION(enchant_dict_is_added); ZEND_FUNCTION(enchant_dict_store_replacement); ZEND_FUNCTION(enchant_dict_get_error); ZEND_FUNCTION(enchant_dict_describe); -ZEND_METHOD(EnchantDict, __construct); static const zend_function_entry ext_functions[] = { ZEND_FE(enchant_broker_init, arginfo_enchant_broker_init) - ZEND_DEP_FE(enchant_broker_free, arginfo_enchant_broker_free) + ZEND_FE(enchant_broker_free, arginfo_enchant_broker_free) ZEND_FE(enchant_broker_get_error, arginfo_enchant_broker_get_error) ZEND_DEP_FE(enchant_broker_set_dict_path, arginfo_enchant_broker_set_dict_path) ZEND_DEP_FE(enchant_broker_get_dict_path, arginfo_enchant_broker_get_dict_path) ZEND_FE(enchant_broker_list_dicts, arginfo_enchant_broker_list_dicts) ZEND_FE(enchant_broker_request_dict, arginfo_enchant_broker_request_dict) ZEND_FE(enchant_broker_request_pwl_dict, arginfo_enchant_broker_request_pwl_dict) - ZEND_DEP_FE(enchant_broker_free_dict, arginfo_enchant_broker_free_dict) + ZEND_FE(enchant_broker_free_dict, arginfo_enchant_broker_free_dict) ZEND_FE(enchant_broker_dict_exists, arginfo_enchant_broker_dict_exists) ZEND_FE(enchant_broker_set_ordering, arginfo_enchant_broker_set_ordering) ZEND_FE(enchant_broker_describe, arginfo_enchant_broker_describe) @@ -212,31 +146,3 @@ static const zend_function_entry ext_functions[] = { ZEND_FE(enchant_dict_describe, arginfo_enchant_dict_describe) ZEND_FE_END }; - - -static const zend_function_entry class_EnchantBroker_methods[] = { - ZEND_ME_MAPPING(__construct, enchant_broker_init, arginfo_class_EnchantBroker___construct, ZEND_ACC_PUBLIC) - ZEND_ME_MAPPING(getError, enchant_broker_get_error, arginfo_class_EnchantBroker_getError, ZEND_ACC_PUBLIC) - ZEND_ME_MAPPING(listDicts, enchant_broker_list_dicts, arginfo_class_EnchantBroker_listDicts, ZEND_ACC_PUBLIC) - ZEND_ME_MAPPING(requestDict, enchant_broker_request_dict, arginfo_class_EnchantBroker_requestDict, ZEND_ACC_PUBLIC) - ZEND_ME_MAPPING(requestPWL, enchant_broker_request_pwl_dict, arginfo_class_EnchantBroker_requestPWL, ZEND_ACC_PUBLIC) - ZEND_ME_MAPPING(isDict, enchant_broker_dict_exists, arginfo_class_EnchantBroker_isDict, ZEND_ACC_PUBLIC) - ZEND_ME_MAPPING(setOrdering, enchant_broker_set_ordering, arginfo_class_EnchantBroker_setOrdering, ZEND_ACC_PUBLIC) - ZEND_ME_MAPPING(describe, enchant_broker_describe, arginfo_class_EnchantBroker_describe, ZEND_ACC_PUBLIC) - ZEND_FE_END -}; - - -static const zend_function_entry class_EnchantDict_methods[] = { - ZEND_ME(EnchantDict, __construct, arginfo_class_EnchantDict___construct, ZEND_ACC_PUBLIC) - ZEND_ME_MAPPING(checkAndSuggest, enchant_dict_quick_check, arginfo_class_EnchantDict_checkAndSuggest, ZEND_ACC_PUBLIC) - ZEND_ME_MAPPING(check, enchant_dict_check, arginfo_class_EnchantDict_check, ZEND_ACC_PUBLIC) - ZEND_ME_MAPPING(suggest, enchant_dict_suggest, arginfo_class_EnchantDict_suggest, ZEND_ACC_PUBLIC) - ZEND_ME_MAPPING(add, enchant_dict_add, arginfo_class_EnchantDict_add, ZEND_ACC_PUBLIC) - ZEND_ME_MAPPING(addToSession, enchant_dict_add_to_session, arginfo_class_EnchantDict_addToSession, ZEND_ACC_PUBLIC) - ZEND_ME_MAPPING(isAdded, enchant_dict_is_added, arginfo_class_EnchantDict_isAdded, ZEND_ACC_PUBLIC) - ZEND_ME_MAPPING(storeReplacement, enchant_dict_store_replacement, arginfo_class_EnchantDict_storeReplacement, ZEND_ACC_PUBLIC) - ZEND_ME_MAPPING(getError, enchant_dict_get_error, arginfo_class_EnchantDict_getError, ZEND_ACC_PUBLIC) - ZEND_ME_MAPPING(describe, enchant_dict_describe, arginfo_class_EnchantDict_describe, ZEND_ACC_PUBLIC) - ZEND_FE_END -}; diff --git a/ext/enchant/tests/broker_describe.phpt b/ext/enchant/tests/broker_describe.phpt index 07134ae50f..11adb1397d 100644 --- a/ext/enchant/tests/broker_describe.phpt +++ b/ext/enchant/tests/broker_describe.phpt @@ -17,12 +17,12 @@ if (!$broker) { } if (!enchant_broker_describe($broker)) { - @enchant_broker_free($broker); + enchant_broker_free($broker); echo "skip: No broker providers found\n"; } -@enchant_broker_free($broker); +enchant_broker_free($broker); ?> --FILE-- --SKIPIF-- --FILE-- diff --git a/ext/enchant/tests/broker_free.phpt b/ext/enchant/tests/broker_free.phpt index e816119ddf..6964895962 100644 --- a/ext/enchant/tests/broker_free.phpt +++ b/ext/enchant/tests/broker_free.phpt @@ -5,12 +5,12 @@ marcosptf - --SKIPIF-- --FILE-- ---EXPECTF-- +--EXPECT-- OK - -Deprecated: Function enchant_broker_free() is deprecated in %s OK diff --git a/ext/enchant/tests/broker_free_01.phpt b/ext/enchant/tests/broker_free_01.phpt index 5b129a0b29..77391cdd60 100644 --- a/ext/enchant/tests/broker_free_01.phpt +++ b/ext/enchant/tests/broker_free_01.phpt @@ -1,19 +1,19 @@ --TEST-- -@enchant_broker_free() function +enchant_broker_free() function --CREDITS-- marcosptf - --SKIPIF-- --FILE-- --SKIPIF-- --FILE-- @@ -14,7 +14,7 @@ $broker = enchant_broker_init(); $dicts = enchant_broker_list_dicts($broker); $newWord = array("iLoveJava","iLoveJavascript","iLoveRuby","iLovePerl","iLoveAwk","iLoveC"); -if (is_object($broker)) { +if (is_resource($broker)) { echo("OK\n"); $requestDict = enchant_broker_request_dict($broker, $dicts[0]['lang_tag']); @@ -27,10 +27,10 @@ if (is_object($broker)) { if (NULL === $AddtoPersonalDict) { var_dump($AddtoPersonalDict); - if (@enchant_broker_free_dict($requestDict)) { + if (enchant_broker_free_dict($requestDict)) { echo("OK\n"); - if (@enchant_broker_free($broker)) { + if (enchant_broker_free($broker)) { echo("OK\n"); } else { diff --git a/ext/enchant/tests/broker_free_dict.phpt b/ext/enchant/tests/broker_free_dict.phpt index 20bc66e5e9..7b37cde6a4 100644 --- a/ext/enchant/tests/broker_free_dict.phpt +++ b/ext/enchant/tests/broker_free_dict.phpt @@ -5,7 +5,7 @@ marcosptf - --SKIPIF-- --FILE-- @@ -13,7 +13,7 @@ if(!is_array(enchant_broker_list_dicts(enchant_broker_init()))) {die("skip, no d $broker = enchant_broker_init(); $dicts = enchant_broker_list_dicts($broker); $newWord = "iLoveJava"; -if (is_object($broker)) { +if (is_resource($broker)) { echo("OK\n"); $requestDict = enchant_broker_request_dict($broker, $dicts[0]['lang_tag']); @@ -44,11 +44,9 @@ if (is_object($broker)) { } echo "OK\n"; ?> ---EXPECTF-- +--EXPECT-- OK OK NULL - -Deprecated: Function enchant_broker_free_dict() is deprecated in %s OK OK diff --git a/ext/enchant/tests/broker_get_error.phpt b/ext/enchant/tests/broker_get_error.phpt index ca568306a6..93f6130c24 100644 --- a/ext/enchant/tests/broker_get_error.phpt +++ b/ext/enchant/tests/broker_get_error.phpt @@ -5,12 +5,12 @@ marcosptf - --SKIPIF-- --FILE-- --SKIPIF-- --FILE-- --FILE-- --SKIPIF-- --FILE-- @@ -17,7 +17,7 @@ if (is_array($dicts)) { if (count($dicts)) { $dict = enchant_broker_request_dict($broker, $dicts[0]['lang_tag']); - if (is_object($dict)) { + if (is_resource($dict)) { echo "OK\n"; } else { echo "fail to request " . $dicts[0]['lang_tag']; diff --git a/ext/enchant/tests/broker_request_dict_01.phpt b/ext/enchant/tests/broker_request_dict_01.phpt index fad527c4c4..2c2905c959 100644 --- a/ext/enchant/tests/broker_request_dict_01.phpt +++ b/ext/enchant/tests/broker_request_dict_01.phpt @@ -5,7 +5,7 @@ marcosptf - --SKIPIF-- --FILE-- @@ -15,7 +15,7 @@ $dicts = enchant_broker_list_dicts($broker); if (is_array($dicts)) { $dict = enchant_broker_request_dict($broker, $dicts[0]['lang_tag']); - if (is_object($dict)) { + if (is_resource($dict)) { echo("OK\n"); } else { echo("fail to request " . $dicts[0]['lang_tag']); diff --git a/ext/enchant/tests/broker_request_pwl_dict.phpt b/ext/enchant/tests/broker_request_pwl_dict.phpt index 605a019db0..a8beadba6c 100644 --- a/ext/enchant/tests/broker_request_pwl_dict.phpt +++ b/ext/enchant/tests/broker_request_pwl_dict.phpt @@ -5,18 +5,18 @@ marcosptf - --SKIPIF-- --FILE-- --SKIPIF-- --FILE-- @@ -14,7 +14,7 @@ $broker = enchant_broker_init(); $dicts = enchant_broker_list_dicts($broker); $comma = ";"; -if (is_object($broker)) { +if (is_resource($broker)) { echo("OK\n"); if (enchant_broker_set_ordering($broker,$dicts[0]['lang_tag'],$comma)) { echo("OK\n"); diff --git a/ext/enchant/tests/bug13181.phpt b/ext/enchant/tests/bug13181.phpt index a93f6cd266..881318cb33 100644 --- a/ext/enchant/tests/bug13181.phpt +++ b/ext/enchant/tests/bug13181.phpt @@ -15,12 +15,12 @@ if (!$broker) { } if (!enchant_broker_list_dicts($broker)) { - @enchant_broker_free($broker); + enchant_broker_free($broker); echo "skip: No broker dicts installed\n"; } -@enchant_broker_free($broker); +enchant_broker_free($broker); ?> --FILE-- --EXPECTF-- -object(EnchantDict)#%d (0) { -} -object(EnchantDict)#%d (0) { -} -object(EnchantBroker)#%d (0) { -} -object(EnchantBroker)#%d (0) { -} -object(EnchantDict)#%d (0) { -} -object(EnchantDict)#%d (0) { -} - +resource(%d) of type (enchant_dict) +resource(%d) of type (enchant_dict) +resource(%d) of type (enchant_broker) +resource(%d) of type (enchant_broker) +resource(%d) of type (enchant_dict) +resource(%d) of type (enchant_dict) diff --git a/ext/enchant/tests/bug53070.phpt b/ext/enchant/tests/bug53070.phpt index c06542e46b..c2ad05094d 100644 --- a/ext/enchant/tests/bug53070.phpt +++ b/ext/enchant/tests/bug53070.phpt @@ -3,7 +3,7 @@ Bug #53070 (enchant_broker_get_path crashes if no path is set) --SKIPIF-- ")) die('skip libenchant v1 only'); ?> --FILE-- @@ -13,15 +13,11 @@ var_dump(enchant_broker_get_dict_path($broker, ENCHANT_MYSPELL)); var_dump(enchant_broker_get_dict_path($broker, ENCHANT_ISPELL)); ?> --EXPECTF-- -Deprecated: Constant ENCHANT_MYSPELL is deprecated in %s - 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: Constant ENCHANT_ISPELL is deprecated in %s - 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 diff --git a/ext/enchant/tests/construct.phpt b/ext/enchant/tests/construct.phpt deleted file mode 100644 index a54fe02647..0000000000 --- a/ext/enchant/tests/construct.phpt +++ /dev/null @@ -1,27 +0,0 @@ ---TEST-- -constructor raise exception() ---SKIPIF-- - ---INI-- -open_basedir=. ---FILE-- -getMessage()."\n"; -} -try { - new EnchantDict(new EnchantBroker, '', '../test.pwl'); -} catch (Exception $e) { - echo $e->getMessage()."\n"; -} -?> -OK ---EXPECTF-- -Tag cannot be empty -Open_basedir restriction in effect -OK diff --git a/ext/enchant/tests/dict_add_to_personal.phpt b/ext/enchant/tests/dict_add_to_personal.phpt index 6e914ca9cb..0c38734c5a 100644 --- a/ext/enchant/tests/dict_add_to_personal.phpt +++ b/ext/enchant/tests/dict_add_to_personal.phpt @@ -5,7 +5,7 @@ marcosptf - --SKIPIF-- --FILE-- @@ -14,7 +14,7 @@ $broker = enchant_broker_init(); $dicts = enchant_broker_list_dicts($broker); $newWord = "iLoveJava"; -if (is_object($broker)) { +if (is_resource($broker)) { echo("OK\n"); $requestDict = enchant_broker_request_dict($broker, $dicts[0]['lang_tag']); diff --git a/ext/enchant/tests/dict_add_to_session.phpt b/ext/enchant/tests/dict_add_to_session.phpt index a9692beada..49c4769fb5 100644 --- a/ext/enchant/tests/dict_add_to_session.phpt +++ b/ext/enchant/tests/dict_add_to_session.phpt @@ -5,7 +5,7 @@ marcosptf - --SKIPIF-- --FILE-- @@ -14,7 +14,7 @@ $broker = enchant_broker_init(); $dicts = enchant_broker_list_dicts($broker); $newWord = "iLoveJavaScript"; -if (is_object($broker)) { +if (is_resource($broker)) { echo("OK\n"); $requestDict = enchant_broker_request_dict($broker, $dicts[0]['lang_tag']); diff --git a/ext/enchant/tests/dict_check.phpt b/ext/enchant/tests/dict_check.phpt index dc11d5d7bc..ac0fc6fb4b 100644 --- a/ext/enchant/tests/dict_check.phpt +++ b/ext/enchant/tests/dict_check.phpt @@ -5,7 +5,7 @@ marcosptf - --SKIPIF-- --FILE-- @@ -14,7 +14,7 @@ $broker = enchant_broker_init(); $dicts = enchant_broker_list_dicts($broker); $newWord = "java"; -if (is_object($broker)) { +if (is_resource($broker)) { echo("OK\n"); $requestDict = enchant_broker_request_dict($broker, $dicts[0]['lang_tag']); diff --git a/ext/enchant/tests/dict_describe.phpt b/ext/enchant/tests/dict_describe.phpt index c8215b9d95..d63cfae178 100644 --- a/ext/enchant/tests/dict_describe.phpt +++ b/ext/enchant/tests/dict_describe.phpt @@ -5,7 +5,7 @@ marcosptf - --SKIPIF-- --FILE-- @@ -13,7 +13,7 @@ if (!is_array(enchant_broker_list_dicts(enchant_broker_init()))) {die("skip, no $broker = enchant_broker_init(); $dicts = enchant_broker_list_dicts($broker); -if (is_object($broker)) { +if (is_resource($broker)) { echo("OK\n"); $requestDict = enchant_broker_request_dict($broker, $dicts[0]['lang_tag']); diff --git a/ext/enchant/tests/dict_get_error.phpt b/ext/enchant/tests/dict_get_error.phpt index ca4ee8c138..340dcdd89a 100644 --- a/ext/enchant/tests/dict_get_error.phpt +++ b/ext/enchant/tests/dict_get_error.phpt @@ -5,7 +5,7 @@ marcosptf - --SKIPIF-- --FILE-- @@ -13,7 +13,7 @@ if (!is_array(enchant_broker_list_dicts(enchant_broker_init()))) {die("skip, no $broker = enchant_broker_init(); $dicts = enchant_broker_list_dicts($broker); -if (is_object($broker)) { +if (is_resource($broker)) { echo("OK\n"); $requestDict = enchant_broker_request_dict($broker, $dicts[0]['lang_tag']); diff --git a/ext/enchant/tests/dict_is_in_session.phpt b/ext/enchant/tests/dict_is_in_session.phpt index c87dbec95e..3084fc7122 100644 --- a/ext/enchant/tests/dict_is_in_session.phpt +++ b/ext/enchant/tests/dict_is_in_session.phpt @@ -5,7 +5,7 @@ marcosptf - --SKIPIF-- --FILE-- @@ -14,7 +14,7 @@ $broker = enchant_broker_init(); $dicts = enchant_broker_list_dicts($broker); $newWord = "aspell"; -if (is_object($broker)) { +if (is_resource($broker)) { echo("OK\n"); $requestDict = enchant_broker_request_dict($broker, $dicts[0]['lang_tag']); diff --git a/ext/enchant/tests/dict_quick_check.phpt b/ext/enchant/tests/dict_quick_check.phpt index 34db019245..a7196b659d 100644 --- a/ext/enchant/tests/dict_quick_check.phpt +++ b/ext/enchant/tests/dict_quick_check.phpt @@ -5,7 +5,7 @@ marcosptf - --SKIPIF-- --SKIPIF-- --FILE-- @@ -14,7 +14,7 @@ $broker = enchant_broker_init(); $dicts = enchant_broker_list_dicts($broker); $word = "aspell"; -if (is_object($broker)) { +if (is_resource($broker)) { echo("OK\n"); $requestDict = enchant_broker_request_dict($broker, $dicts[0]['lang_tag']); diff --git a/ext/enchant/tests/dict_store_replacement.phpt b/ext/enchant/tests/dict_store_replacement.phpt index b3a5186315..eb01dcbc57 100644 --- a/ext/enchant/tests/dict_store_replacement.phpt +++ b/ext/enchant/tests/dict_store_replacement.phpt @@ -5,7 +5,7 @@ marcosptf - --SKIPIF-- --FILE-- @@ -15,7 +15,7 @@ $dicts = enchant_broker_list_dicts($broker); $wrongWord = "sava"; $rightWord = "java"; -if (is_object($broker)) { +if (is_resource($broker)) { echo("OK\n"); $requestDict = enchant_broker_request_dict($broker, $dicts[0]['lang_tag']); diff --git a/ext/enchant/tests/dict_suggest.phpt b/ext/enchant/tests/dict_suggest.phpt index 49b9dae81d..6854eeb65b 100644 --- a/ext/enchant/tests/dict_suggest.phpt +++ b/ext/enchant/tests/dict_suggest.phpt @@ -5,7 +5,7 @@ marcosptf - --SKIPIF-- --FILE-- @@ -14,7 +14,7 @@ $broker = enchant_broker_init(); $dicts = enchant_broker_list_dicts($broker); $sugs = "soong"; -if (is_object($broker)) { +if (is_resource($broker)) { echo("OK\n"); $requestDict = enchant_broker_request_dict($broker, $dicts[0]['lang_tag']); diff --git a/ext/enchant/tests/enchant_broker_set_dict_path.phpt b/ext/enchant/tests/enchant_broker_set_dict_path.phpt index 0c9da82092..a072c25555 100644 --- a/ext/enchant/tests/enchant_broker_set_dict_path.phpt +++ b/ext/enchant/tests/enchant_broker_set_dict_path.phpt @@ -6,7 +6,7 @@ marcosptf - --SKIPIF-- ")) die('skip libenchant v1 only'); ?> @@ -18,7 +18,7 @@ $backEndDictType2 = "ISPELL"; $dictTypeValue1 = 1; $dictTypeValue2 = 2; -if (is_object($broker)) { +if (is_resource($broker)) { echo("OK\n"); if (enchant_broker_set_dict_path($broker, $dictTypeValue1, $backEndDictType1)) { diff --git a/ext/enchant/tests/invalidobj.phpt b/ext/enchant/tests/invalidobj.phpt deleted file mode 100644 index 6a96972da1..0000000000 --- a/ext/enchant/tests/invalidobj.phpt +++ /dev/null @@ -1,27 +0,0 @@ ---TEST-- -invalid object raise exception() function ---SKIPIF-- - ---FILE-- -getMessage()."\n"; - } -} else { - exit("init failed\n"); -} -echo "OK\n"; -?> ---EXPECTF-- -OK -Invalid or uninitialized EnchantBroker object -OK diff --git a/ext/enchant/tests/object.phpt b/ext/enchant/tests/object.phpt deleted file mode 100644 index 55ae67e0cd..0000000000 --- a/ext/enchant/tests/object.phpt +++ /dev/null @@ -1,63 +0,0 @@ ---TEST-- -Object API ---SKIPIF-- - ---FILE-- -describe())); -$dicts = $broker->listDicts(); -var_dump($lang = $dicts[0]['lang_tag']); - -echo "+ Dict\n"; -var_dump($dict = $broker->requestDict($lang)); -var_dump(is_array($dict->describe())); -unset($dict); - -echo "+ Check\n"; -var_dump($dict = new EnchantDict($broker, $lang)); -$w = "ElePHPant"; -var_dump($dict->check($w)); -var_dump($dict->isAdded($w)); -$dict->addToSession($w); -var_dump($dict->check($w)); -var_dump($dict->isAdded($w)); - -echo "+ Suggest\n"; -var_dump(is_array($dict->suggest("soong"))); - -echo "+ PWL\n"; -var_dump($dict = new EnchantDict($broker, '', __DIR__ . '/enchant_broker_request_pwl_dict.pwl')); -var_dump($dict->check('php')); -var_dump($dict->check('node')); -?> -OK ---EXPECTF-- -+ Broker -object(EnchantBroker)#%d (0) { -} -bool(true) -string(%d) "%s" -+ Dict -object(EnchantDict)#%d (0) { -} -bool(true) -+ Check -object(EnchantDict)#%d (0) { -} -bool(false) -bool(false) -bool(true) -bool(true) -+ Suggest -bool(true) -+ PWL -object(EnchantDict)#%d (0) { -} -bool(true) -bool(false) -OK