Skip to content

Commit 56137cd

Browse files
authored
Declare ext/mbstring constants in stubs (#8798)
1 parent cda7e8f commit 56137cd

File tree

5 files changed

+73
-14
lines changed

5 files changed

+73
-14
lines changed

ext/mbstring/mbstring.c

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1070,19 +1070,12 @@ ZEND_TSRMLS_CACHE_UPDATE();
10701070
sapi_register_post_entries(mbstr_post_entries);
10711071
}
10721072

1073-
REGISTER_LONG_CONSTANT("MB_CASE_UPPER", PHP_UNICODE_CASE_UPPER, CONST_CS | CONST_PERSISTENT);
1074-
REGISTER_LONG_CONSTANT("MB_CASE_LOWER", PHP_UNICODE_CASE_LOWER, CONST_CS | CONST_PERSISTENT);
1075-
REGISTER_LONG_CONSTANT("MB_CASE_TITLE", PHP_UNICODE_CASE_TITLE, CONST_CS | CONST_PERSISTENT);
1076-
REGISTER_LONG_CONSTANT("MB_CASE_FOLD", PHP_UNICODE_CASE_FOLD, CONST_CS | CONST_PERSISTENT);
1077-
REGISTER_LONG_CONSTANT("MB_CASE_UPPER_SIMPLE", PHP_UNICODE_CASE_UPPER_SIMPLE, CONST_CS | CONST_PERSISTENT);
1078-
REGISTER_LONG_CONSTANT("MB_CASE_LOWER_SIMPLE", PHP_UNICODE_CASE_LOWER_SIMPLE, CONST_CS | CONST_PERSISTENT);
1079-
REGISTER_LONG_CONSTANT("MB_CASE_TITLE_SIMPLE", PHP_UNICODE_CASE_TITLE_SIMPLE, CONST_CS | CONST_PERSISTENT);
1080-
REGISTER_LONG_CONSTANT("MB_CASE_FOLD_SIMPLE", PHP_UNICODE_CASE_FOLD_SIMPLE, CONST_CS | CONST_PERSISTENT);
1081-
10821073
#ifdef HAVE_MBREGEX
10831074
PHP_MINIT(mb_regex) (INIT_FUNC_ARGS_PASSTHRU);
10841075
#endif
10851076

1077+
register_mbstring_symbols(module_number);
1078+
10861079
if (FAILURE == zend_multibyte_set_functions(&php_mb_zend_multibyte_functions)) {
10871080
return FAILURE;
10881081
}

ext/mbstring/mbstring.stub.php

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,55 @@
22

33
/** @generate-class-entries */
44

5+
#ifdef HAVE_MBREGEX
6+
/**
7+
* @var string
8+
* @cname php_mb_oniguruma_version
9+
*/
10+
const MB_ONIGURUMA_VERSION = UNKNOWN;
11+
#endif
12+
13+
/**
14+
* @var int
15+
* @cname PHP_UNICODE_CASE_UPPER
16+
*/
17+
const MB_CASE_UPPER = UNKNOWN;
18+
/**
19+
* @var int
20+
* @cname PHP_UNICODE_CASE_LOWER
21+
*/
22+
const MB_CASE_LOWER = UNKNOWN;
23+
/**
24+
* @var int
25+
* @cname PHP_UNICODE_CASE_TITLE
26+
*/
27+
const MB_CASE_TITLE = UNKNOWN;
28+
/**
29+
* @var int
30+
* @cname PHP_UNICODE_CASE_FOLD
31+
*/
32+
const MB_CASE_FOLD = UNKNOWN;
33+
/**
34+
* @var int
35+
* @cname PHP_UNICODE_CASE_UPPER_SIMPLE
36+
*/
37+
const MB_CASE_UPPER_SIMPLE = UNKNOWN;
38+
/**
39+
* @var int
40+
* @cname PHP_UNICODE_CASE_LOWER_SIMPLE
41+
*/
42+
const MB_CASE_LOWER_SIMPLE = UNKNOWN;
43+
/**
44+
* @var int
45+
* @cname PHP_UNICODE_CASE_TITLE_SIMPLE
46+
*/
47+
const MB_CASE_TITLE_SIMPLE = UNKNOWN;
48+
/**
49+
* @var int
50+
* @cname PHP_UNICODE_CASE_FOLD_SIMPLE
51+
*/
52+
const MB_CASE_FOLD_SIMPLE = UNKNOWN;
53+
554
/** @refcount 1 */
655
function mb_language(?string $language = null): string|bool {}
756

ext/mbstring/mbstring_arginfo.h

Lines changed: 16 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ext/mbstring/php_mbregex.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ typedef void OnigMatchParam;
4646

4747
ZEND_EXTERN_MODULE_GLOBALS(mbstring)
4848

49+
char php_mb_oniguruma_version[256];
50+
4951
struct _zend_mb_regex_globals {
5052
OnigEncoding default_mbctype;
5153
OnigEncoding current_mbctype;
@@ -110,13 +112,11 @@ void php_mb_regex_globals_free(zend_mb_regex_globals *pglobals)
110112
/* {{{ PHP_MINIT_FUNCTION(mb_regex) */
111113
PHP_MINIT_FUNCTION(mb_regex)
112114
{
113-
char version[256];
114-
115115
onig_init();
116116

117-
snprintf(version, sizeof(version), "%d.%d.%d",
117+
snprintf(php_mb_oniguruma_version, sizeof(php_mb_oniguruma_version), "%d.%d.%d",
118118
ONIGURUMA_VERSION_MAJOR, ONIGURUMA_VERSION_MINOR, ONIGURUMA_VERSION_TEENY);
119-
REGISTER_STRING_CONSTANT("MB_ONIGURUMA_VERSION", version, CONST_CS | CONST_PERSISTENT);
119+
120120
return SUCCESS;
121121
}
122122
/* }}} */

ext/mbstring/php_mbregex.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ PHP_RINIT_FUNCTION(mb_regex);
3030
PHP_RSHUTDOWN_FUNCTION(mb_regex);
3131
PHP_MINFO_FUNCTION(mb_regex);
3232

33+
extern char php_mb_oniguruma_version[256];
34+
3335
typedef struct _zend_mb_regex_globals zend_mb_regex_globals;
3436

3537
zend_mb_regex_globals *php_mb_regex_globals_alloc(void);

0 commit comments

Comments
 (0)