php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
collator_attr.c
Go to the documentation of this file.
1/*
2 +----------------------------------------------------------------------+
3 | This source file is subject to version 3.01 of the PHP license, |
4 | that is bundled with this package in the file LICENSE, and is |
5 | available through the world-wide-web at the following url: |
6 | https://www.php.net/license/3_01.txt |
7 | If you did not receive a copy of the PHP license and are unable to |
8 | obtain it through the world-wide-web, please send a note to |
9 | license@php.net so we can mail you a copy immediately. |
10 +----------------------------------------------------------------------+
11 | Authors: Vadim Savchuk <vsavchuk@productengine.com> |
12 | Dmitry Lakhtyuk <dlakhtyuk@productengine.com> |
13 +----------------------------------------------------------------------+
14 */
15
16#ifdef HAVE_CONFIG_H
17#include <config.h>
18#endif
19
20#include "php_intl.h"
21#include "collator_class.h"
22#include "collator_convert.h"
23
24#include <unicode/ustring.h>
25
26/* {{{ Get collation attribute value. */
28{
29 zend_long attribute, value;
30
32
33 /* Parse parameters. */
35 &object, Collator_ce_ptr, &attribute ) == FAILURE )
36 {
38 }
39
40 /* Fetch the object. */
42
43 value = ucol_getAttribute( co->ucoll, attribute, COLLATOR_ERROR_CODE_P( co ) );
44 COLLATOR_CHECK_STATUS( co, "Error getting attribute value" );
45
47}
48/* }}} */
49
50/* {{{ Set collation attribute. */
52{
53 zend_long attribute, value;
55
56
57 /* Parse parameters. */
59 &object, Collator_ce_ptr, &attribute, &value ) == FAILURE)
60 {
62 }
63
64 /* Fetch the object. */
66
67 /* Set new value for the given attribute. */
68 ucol_setAttribute( co->ucoll, attribute, value, COLLATOR_ERROR_CODE_P( co ) );
69 COLLATOR_CHECK_STATUS( co, "Error setting attribute value" );
70
72}
73/* }}} */
74
75/* {{{ Returns the current collation strength. */
77{
79
80 /* Parse parameters. */
82 &object, Collator_ce_ptr ) == FAILURE )
83 {
85 }
86
87 /* Fetch the object. */
89
90 /* Get current strength and return it. */
91 RETURN_LONG( ucol_getStrength( co->ucoll ) );
92}
93/* }}} */
94
95/* {{{ Set the collation strength. */
97{
98 zend_long strength;
99
101
102 /* Parse parameters. */
104 &object, Collator_ce_ptr, &strength ) == FAILURE )
105 {
107 }
108
109 /* Fetch the object. */
111
112 /* Set given strength. */
113 ucol_setStrength( co->ucoll, strength );
114
116}
117/* }}} */
zend_class_entry * Collator_ce_ptr
#define COLLATOR_ERROR_CODE_P(co)
#define COLLATOR_CHECK_STATUS(co, msg)
#define COLLATOR_METHOD_FETCH_OBJECT
#define COLLATOR_METHOD_INIT_VARS
#define PHP_FUNCTION
Definition php.h:364
collator_set_attribute(Collator $object, int $attribute, int $value)
collator_get_attribute(Collator $object, int $attribute)
collator_get_strength(Collator $object)
collator_set_strength(Collator $object, int $strength)
ZEND_API zend_result zend_parse_method_parameters(uint32_t num_args, zval *this_ptr, const char *type_spec,...)
Definition zend_API.c:1314
#define ZEND_NUM_ARGS()
Definition zend_API.h:530
#define RETURN_LONG(l)
Definition zend_API.h:1037
#define RETURN_THROWS()
Definition zend_API.h:1060
#define getThis()
Definition zend_API.h:526
#define RETURN_TRUE
Definition zend_API.h:1059
int32_t zend_long
Definition zend_long.h:42
@ FAILURE
Definition zend_types.h:61
value