root/ext/intl/spoofchecker/spoofchecker_create.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. PHP_METHOD

   1 /*
   2    +----------------------------------------------------------------------+
   3    | PHP Version 7                                                        |
   4    +----------------------------------------------------------------------+
   5    | This source file is subject to version 3.01 of the PHP license,      |
   6    | that is bundled with this package in the file LICENSE, and is        |
   7    | available through the world-wide-web at the following url:           |
   8    | http://www.php.net/license/3_01.txt                                  |
   9    | If you did not receive a copy of the PHP license and are unable to   |
  10    | obtain it through the world-wide-web, please send a note to          |
  11    | license@php.net so we can mail you a copy immediately.               |
  12    +----------------------------------------------------------------------+
  13    | Authors: Scott MacVicar <scottmac@php.net>                           |
  14    +----------------------------------------------------------------------+
  15  */
  16 
  17 #ifdef HAVE_CONFIG_H
  18 #include "config.h"
  19 #endif
  20 
  21 #include "php_intl.h"
  22 #include "spoofchecker_class.h"
  23 #include "spoofchecker_create.h"
  24 #include "intl_data.h"
  25 
  26 /* {{{ proto Spoofchecker Spoofchecker::__construct()
  27  * Spoofchecker object constructor.
  28  */
  29 PHP_METHOD(Spoofchecker, __construct)
  30 {
  31         int checks;
  32         zend_error_handling error_handling;
  33         SPOOFCHECKER_METHOD_INIT_VARS;
  34 
  35         if (zend_parse_parameters_throw(ZEND_NUM_ARGS(), "") == FAILURE) {
  36                 return;
  37         }
  38 
  39         zend_replace_error_handling(EH_THROW, IntlException_ce_ptr, &error_handling);
  40 
  41         SPOOFCHECKER_METHOD_FETCH_OBJECT_NO_CHECK;
  42 
  43         co->uspoof = uspoof_open(SPOOFCHECKER_ERROR_CODE_P(co));
  44         INTL_METHOD_CHECK_STATUS(co, "spoofchecker: unable to open ICU Spoof Checker");
  45 
  46         /* Single-script enforcement is on by default. This fails for languages
  47          like Japanese that legally use multiple scripts within a single word,
  48          so we turn it off.
  49         */
  50         checks = uspoof_getChecks(co->uspoof, SPOOFCHECKER_ERROR_CODE_P(co));
  51         uspoof_setChecks(co->uspoof, checks & ~USPOOF_SINGLE_SCRIPT, SPOOFCHECKER_ERROR_CODE_P(co));
  52         zend_restore_error_handling(&error_handling);
  53 }
  54 /* }}} */
  55 
  56 /*
  57  * Local variables:
  58  * tab-width: 4
  59  * c-basic-offset: 4
  60  * End:
  61  * vim600: noet sw=4 ts=4 fdm=marker
  62  * vim<600: noet sw=4 ts=4
  63  */

/* [<][>][^][v][top][bottom][index][help] */