diff options
author | Christoph M. Becker <cmbecker69@gmx.de> | 2019-10-06 15:44:15 +0200 |
---|---|---|
committer | Christoph M. Becker <cmbecker69@gmx.de> | 2019-10-06 17:45:32 +0200 |
commit | 0a47096c08b23bb441a527f063a656d35facfc19 (patch) | |
tree | c1ebeaec896a360adbe6b03905002a4d4a952820 | |
parent | ff00f4967340f859ee8da5f689994b20dcabbe05 (diff) | |
download | php-git-0a47096c08b23bb441a527f063a656d35facfc19.tar.gz |
Add MBString arginfo stubs
-rw-r--r-- | ext/mbstring/mbstring.c | 331 | ||||
-rw-r--r-- | ext/mbstring/mbstring.stub.php | 179 | ||||
-rw-r--r-- | ext/mbstring/mbstring_arginfo.h | 297 |
3 files changed, 477 insertions, 330 deletions
diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 15dca0cf81..c0110c6154 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -75,6 +75,7 @@ onig_match(re, str, end, at, region, option) #endif #include "zend_multibyte.h" +#include "mbstring_arginfo.h" /* }}} */ #if HAVE_MBSTRING @@ -181,336 +182,6 @@ static const php_mb_nls_ident_list php_mb_default_identify_list[] = { /* }}} */ -/* {{{ arginfo */ -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_language, 0, 0, 0) - ZEND_ARG_INFO(0, language) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_internal_encoding, 0, 0, 0) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_http_input, 0, 0, 0) - ZEND_ARG_INFO(0, type) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_http_output, 0, 0, 0) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_detect_order, 0, 0, 0) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_substitute_character, 0, 0, 0) - ZEND_ARG_INFO(0, substchar) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_preferred_mime_name, 0, 0, 1) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_parse_str, 0, 0, 2) - ZEND_ARG_INFO(0, encoded_string) - ZEND_ARG_INFO(1, result) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_output_handler, 0, 0, 2) - ZEND_ARG_INFO(0, contents) - ZEND_ARG_INFO(0, status) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_str_split, 0, 0, 1) - ZEND_ARG_INFO(0, str) - ZEND_ARG_INFO(0, split_length) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_strlen, 0, 0, 1) - ZEND_ARG_INFO(0, str) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_strpos, 0, 0, 2) - ZEND_ARG_INFO(0, haystack) - ZEND_ARG_INFO(0, needle) - ZEND_ARG_INFO(0, offset) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_strrpos, 0, 0, 2) - ZEND_ARG_INFO(0, haystack) - ZEND_ARG_INFO(0, needle) - ZEND_ARG_INFO(0, offset) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_stripos, 0, 0, 2) - ZEND_ARG_INFO(0, haystack) - ZEND_ARG_INFO(0, needle) - ZEND_ARG_INFO(0, offset) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_strripos, 0, 0, 2) - ZEND_ARG_INFO(0, haystack) - ZEND_ARG_INFO(0, needle) - ZEND_ARG_INFO(0, offset) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_strstr, 0, 0, 2) - ZEND_ARG_INFO(0, haystack) - ZEND_ARG_INFO(0, needle) - ZEND_ARG_INFO(0, part) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_strrchr, 0, 0, 2) - ZEND_ARG_INFO(0, haystack) - ZEND_ARG_INFO(0, needle) - ZEND_ARG_INFO(0, part) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_stristr, 0, 0, 2) - ZEND_ARG_INFO(0, haystack) - ZEND_ARG_INFO(0, needle) - ZEND_ARG_INFO(0, part) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_strrichr, 0, 0, 2) - ZEND_ARG_INFO(0, haystack) - ZEND_ARG_INFO(0, needle) - ZEND_ARG_INFO(0, part) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_substr_count, 0, 0, 2) - ZEND_ARG_INFO(0, haystack) - ZEND_ARG_INFO(0, needle) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_substr, 0, 0, 2) - ZEND_ARG_INFO(0, str) - ZEND_ARG_INFO(0, start) - ZEND_ARG_INFO(0, length) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_strcut, 0, 0, 2) - ZEND_ARG_INFO(0, str) - ZEND_ARG_INFO(0, start) - ZEND_ARG_INFO(0, length) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_strwidth, 0, 0, 1) - ZEND_ARG_INFO(0, str) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_strimwidth, 0, 0, 3) - ZEND_ARG_INFO(0, str) - ZEND_ARG_INFO(0, start) - ZEND_ARG_INFO(0, width) - ZEND_ARG_INFO(0, trimmarker) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_convert_encoding, 0, 0, 2) - ZEND_ARG_INFO(0, str) - ZEND_ARG_INFO(0, to) - ZEND_ARG_INFO(0, from) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_convert_case, 0, 0, 2) - ZEND_ARG_INFO(0, sourcestring) - ZEND_ARG_INFO(0, mode) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_strtoupper, 0, 0, 1) - ZEND_ARG_INFO(0, sourcestring) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_strtolower, 0, 0, 1) - ZEND_ARG_INFO(0, sourcestring) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_detect_encoding, 0, 0, 1) - ZEND_ARG_INFO(0, str) - ZEND_ARG_INFO(0, encoding_list) - ZEND_ARG_INFO(0, strict) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_mb_list_encodings, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_encoding_aliases, 0, 0, 1) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_encode_mimeheader, 0, 0, 1) - ZEND_ARG_INFO(0, str) - ZEND_ARG_INFO(0, charset) - ZEND_ARG_INFO(0, transfer) - ZEND_ARG_INFO(0, linefeed) - ZEND_ARG_INFO(0, indent) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_decode_mimeheader, 0, 0, 1) - ZEND_ARG_INFO(0, string) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_convert_kana, 0, 0, 1) - ZEND_ARG_INFO(0, str) - ZEND_ARG_INFO(0, option) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_convert_variables, 0, 0, 3) - ZEND_ARG_INFO(0, to) - ZEND_ARG_INFO(0, from) - ZEND_ARG_VARIADIC_INFO(1, vars) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_encode_numericentity, 0, 0, 2) - ZEND_ARG_INFO(0, string) - ZEND_ARG_INFO(0, convmap) - ZEND_ARG_INFO(0, encoding) - ZEND_ARG_INFO(0, is_hex) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_decode_numericentity, 0, 0, 2) - ZEND_ARG_INFO(0, string) - ZEND_ARG_INFO(0, convmap) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_send_mail, 0, 0, 3) - ZEND_ARG_INFO(0, to) - ZEND_ARG_INFO(0, subject) - ZEND_ARG_INFO(0, message) - ZEND_ARG_INFO(0, additional_headers) - ZEND_ARG_INFO(0, additional_parameters) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_get_info, 0, 0, 0) - ZEND_ARG_INFO(0, type) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_check_encoding, 0, 0, 0) - ZEND_ARG_INFO(0, var) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_scrub, 0, 0, 1) - ZEND_ARG_INFO(0, str) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_ord, 0, 0, 1) - ZEND_ARG_INFO(0, str) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_chr, 0, 0, 1) - ZEND_ARG_INFO(0, cp) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -#if HAVE_MBREGEX -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_regex_encoding, 0, 0, 0) - ZEND_ARG_INFO(0, encoding) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_ereg, 0, 0, 2) - ZEND_ARG_INFO(0, pattern) - ZEND_ARG_INFO(0, string) - ZEND_ARG_INFO(1, registers) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_eregi, 0, 0, 2) - ZEND_ARG_INFO(0, pattern) - ZEND_ARG_INFO(0, string) - ZEND_ARG_INFO(1, registers) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_ereg_replace, 0, 0, 3) - ZEND_ARG_INFO(0, pattern) - ZEND_ARG_INFO(0, replacement) - ZEND_ARG_INFO(0, string) - ZEND_ARG_INFO(0, option) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_eregi_replace, 0, 0, 3) - ZEND_ARG_INFO(0, pattern) - ZEND_ARG_INFO(0, replacement) - ZEND_ARG_INFO(0, string) - ZEND_ARG_INFO(0, option) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_ereg_replace_callback, 0, 0, 3) - ZEND_ARG_INFO(0, pattern) - ZEND_ARG_INFO(0, callback) - ZEND_ARG_INFO(0, string) - ZEND_ARG_INFO(0, option) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_split, 0, 0, 2) - ZEND_ARG_INFO(0, pattern) - ZEND_ARG_INFO(0, string) - ZEND_ARG_INFO(0, limit) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_ereg_match, 0, 0, 2) - ZEND_ARG_INFO(0, pattern) - ZEND_ARG_INFO(0, string) - ZEND_ARG_INFO(0, option) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_ereg_search, 0, 0, 0) - ZEND_ARG_INFO(0, pattern) - ZEND_ARG_INFO(0, option) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_ereg_search_pos, 0, 0, 0) - ZEND_ARG_INFO(0, pattern) - ZEND_ARG_INFO(0, option) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_ereg_search_regs, 0, 0, 0) - ZEND_ARG_INFO(0, pattern) - ZEND_ARG_INFO(0, option) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_ereg_search_init, 0, 0, 1) - ZEND_ARG_INFO(0, string) - ZEND_ARG_INFO(0, pattern) - ZEND_ARG_INFO(0, option) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_mb_ereg_search_getregs, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO(arginfo_mb_ereg_search_getpos, 0) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_ereg_search_setpos, 0, 0, 1) - ZEND_ARG_INFO(0, position) -ZEND_END_ARG_INFO() - -ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_regex_set_options, 0, 0, 0) - ZEND_ARG_INFO(0, options) -ZEND_END_ARG_INFO() -#endif /* HAVE_MBREGEX */ -/* }}} */ - /* {{{ zend_function_entry mbstring_functions[] */ static const zend_function_entry mbstring_functions[] = { PHP_FE(mb_convert_case, arginfo_mb_convert_case) diff --git a/ext/mbstring/mbstring.stub.php b/ext/mbstring/mbstring.stub.php new file mode 100644 index 0000000000..fafc4967af --- /dev/null +++ b/ext/mbstring/mbstring.stub.php @@ -0,0 +1,179 @@ +<?php + +/** @return string|false */ +function mb_language(string $language = UNKNOWN) {} + +/** @return string|false */ +function mb_internal_encoding(string $encoding = UNKNOWN) {} + +/** @return array|string|false */ +function mb_http_input(string $type = UNKNOWN) {} + +/** @return string|false */ +function mb_http_output(string $encoding = UNKNOWN) {} + +/** @return array|bool */ +function mb_detect_order($encoding = UNKNOWN) {} + +/** @return string|int|bool */ +function mb_substitute_character($substchar = UNKNOWN) {} + +/** @return string|false */ +function mb_preferred_mime_name(string $encoding) {} + +function mb_parse_str(string $encoded_string, &$result): bool {} + +function mb_output_handler(string $contents, int $status): string {} + +/** @return array|false */ +function mb_str_split(string $str, int $split_length = 1, string $encoding = UNKNOWN) {} + +/** @return int|false */ +function mb_strlen(string $str, string $encoding = UNKNOWN) {} + +/** @return int|false */ +function mb_strpos(string $haystack, string $needle, int $offset = 0, string $encoding = UNKNOWN) {} + +/** @return int|false */ +function mb_strrpos(string $haystack, string $needle, $offset = UNBEK, string $encoding = UNKNOWN) {} + +/** @return int|false */ +function mb_stripos(string $haystack, string $needle, int $offset = 0, string $encoding = UNKNOWN) {} + +/** @return int|false */ +function mb_strripos(string $haystack, string $needle, int $offset = 0, string $encoding = UNKNOWN) {} + +/** @return string|false */ +function mb_strstr(string $haystack, string $needle, bool $part = false, string $encoding = UNKNOWN) {} + +/** @return string|false */ +function mb_strrchr(string $haystack, string $needle, bool $part = false, string $encoding = UNKNOWN) {} + +/** @return string|false */ +function mb_stristr(string $haystack, string $needle, bool $part = false, string $encoding = UNKNOWN) {} + +/** @return string|false */ +function mb_strrichr(string $haystack, string $needle, bool $part = false, string $encoding = UNKNOWN) {} + +/** @return int|false */ +function mb_substr_count(string $haystack, string $needle, string $encoding = UNKNOWN) {} + +/** @return string|false */ +function mb_substr(string $str, int $start, ?int $length = null, string $encoding = UNKNOWN) {} + +/** @return string|false */ +function mb_strcut(string $str, int $start, ?int $length = null, string $encoding = UNKNOWN) {} + +/** @return int|false */ +function mb_strwidth(string $str, string $encoding = UNKNOWN) {} + +/** @return string|false */ +function mb_strimwidth(string $str, int $start, int $width, string $trimmarker = UNKNOWN, string $encoding = UNKNOWN) {} + +/** + * @param array|string $str + * @return array|string|false + */ +function mb_convert_encoding($str, string $to, $from = UNKNOWN) {} + +/** @return string|false */ +function mb_convert_case(string $sourcestring, int $mode, ?string $encoding = null) {} + +/** @return string|false */ +function mb_strtoupper(string $sourcestring, ?string $encoding = null) {} + +/** @return string|false */ +function mb_strtolower(string $sourcestring, ?string $encoding = null) {} + +/** + * @param array|string $encoding_list + * @return string|false + */ +function mb_detect_encoding(string $str, $encoding_list = null, bool $strict = false) {} + +function mb_list_encodings(): array {} + +/** @return array|false */ +function mb_encoding_aliases(string $encoding) {} + +/** @return string|false */ +function mb_encode_mimeheader(string $str, string $charset = UNKNOWN, string $transfer = UNKNOWN, string $linefeed = UNKNOWN, int $indent = 0) {} + +/** @return string|false */ +function mb_decode_mimeheader(string $string) {} + +/** @return string|false */ +function mb_convert_kana(string $str, string $option = UNKNOWN, string $encoding = UNKNOWN) {} + +/** + * @param array|string $from + * @return string|false + */ +function mb_convert_variables(string $to, $from, &$var, &...$vars) {} + +/** @return string|false */ +function mb_encode_numericentity(string $string, $convmap, string $encoding = UNKNOWN, bool $is_hex = false) {} + +/** @return string|false */ +function mb_decode_numericentity(string $string, $convmap, string $encoding = UNKNOWN) {} + +function mb_send_mail(string $to, string $subject, string $message, $additional_headers = UNKNOWN, string $additional_parameters = UNKNOWN): bool {} + +/** @return array|string|int|false */ +function mb_get_info(string $type = UNKNOWN) {} + +function mb_check_encoding($var = UNBEK, string $encoding = UNKNOWN): bool {} + +/** @return string|false */ +function mb_scrub(string $str, string $encoding = UNKNOWN) {} + +/** @return int|false */ +function mb_ord(string $str, string $encoding = UNKNOWN) {} + +/** @return string|false */ +function mb_chr(int $cp, string $encoding = UNKNOWN) {} + +#if HAVE_MBREGEX +/** @return string|bool */ +function mb_regex_encoding(string $encoding = UNKNOWN) {} + +/** @return int|false */ +function mb_ereg(string $pattern, string $string, &$registers = UNKNOWN) {} + +/** @return int|false */ +function mb_eregi(string $pattern, string $string, &$registers = UNKNOWN) {} + +/** @return string|false|null */ +function mb_ereg_replace(string $pattern, string $replacement, string $string, string $option = UNKNOWN) {} + +/** @return string|false|null */ +function mb_eregi_replace(string $pattern, string $replacement, string $string, string $option = UNKNOWN) {} + +/** @return string|false|null */ +function mb_ereg_replace_callback(string $pattern, callable $callback, string $string, string $option = UNKNOWN) {} + +/** @return array|false */ +function mb_split(string $pattern, string $string, int $limit = -1) {} + +function mb_ereg_match(string $pattern, string $string, string $option = UNKNOWN): bool {} + +/** @return array|bool */ +function mb_ereg_search(string $pattern = UNKNOWN, string $option = UNKNOWN) {} + +/** @return array|bool */ +function mb_ereg_search_pos(string $pattern = UNKNOWN, string $option = UNKNOWN) {} + +/** @return array|bool */ +function mb_ereg_search_regs(string $pattern = UNKNOWN, string $option = UNKNOWN) {} + +function mb_ereg_search_init(string $string, string $pattern = UNKNOWN, string $option = UNKNOWN): bool {} + +/** @return array|false */ +function mb_ereg_search_getregs() {} + +function mb_ereg_search_getpos(): int {} + +function mb_ereg_search_setpos(int $position): bool {} + +function mb_regex_set_options(string $options = UNKNOWN): string {} +#endif diff --git a/ext/mbstring/mbstring_arginfo.h b/ext/mbstring/mbstring_arginfo.h new file mode 100644 index 0000000000..d7f7b8f891 --- /dev/null +++ b/ext/mbstring/mbstring_arginfo.h @@ -0,0 +1,297 @@ +/* This is a generated file, edit the .stub.php file instead. */ + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_language, 0, 0, 0) + ZEND_ARG_TYPE_INFO(0, language, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_internal_encoding, 0, 0, 0) + ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_http_input, 0, 0, 0) + ZEND_ARG_TYPE_INFO(0, type, IS_STRING, 0) +ZEND_END_ARG_INFO() + +#define arginfo_mb_http_output arginfo_mb_internal_encoding + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_detect_order, 0, 0, 0) + ZEND_ARG_INFO(0, encoding) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_substitute_character, 0, 0, 0) + ZEND_ARG_INFO(0, substchar) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_preferred_mime_name, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_parse_str, 0, 2, _IS_BOOL, 0) + ZEND_ARG_TYPE_INFO(0, encoded_string, IS_STRING, 0) + ZEND_ARG_INFO(1, result) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_output_handler, 0, 2, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, contents, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, status, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_str_split, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, split_length, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_strlen, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_strpos, 0, 0, 2) + ZEND_ARG_TYPE_INFO(0, haystack, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, needle, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_strrpos, 0, 0, 2) + ZEND_ARG_TYPE_INFO(0, haystack, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, needle, IS_STRING, 0) + ZEND_ARG_INFO(0, offset) + ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0) +ZEND_END_ARG_INFO() + +#define arginfo_mb_stripos arginfo_mb_strpos + +#define arginfo_mb_strripos arginfo_mb_strpos + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_strstr, 0, 0, 2) + ZEND_ARG_TYPE_INFO(0, haystack, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, needle, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, part, _IS_BOOL, 0) + ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0) +ZEND_END_ARG_INFO() + +#define arginfo_mb_strrchr arginfo_mb_strstr + +#define arginfo_mb_stristr arginfo_mb_strstr + +#define arginfo_mb_strrichr arginfo_mb_strstr + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_substr_count, 0, 0, 2) + ZEND_ARG_TYPE_INFO(0, haystack, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, needle, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_substr, 0, 0, 2) + ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, start, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 1) + ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0) +ZEND_END_ARG_INFO() + +#define arginfo_mb_strcut arginfo_mb_substr + +#define arginfo_mb_strwidth arginfo_mb_strlen + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_strimwidth, 0, 0, 3) + ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, start, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, width, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, trimmarker, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_convert_encoding, 0, 0, 2) + ZEND_ARG_INFO(0, str) + ZEND_ARG_TYPE_INFO(0, to, IS_STRING, 0) + ZEND_ARG_INFO(0, from) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_convert_case, 0, 0, 2) + ZEND_ARG_TYPE_INFO(0, sourcestring, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 1) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_strtoupper, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, sourcestring, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 1) +ZEND_END_ARG_INFO() + +#define arginfo_mb_strtolower arginfo_mb_strtoupper + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_detect_encoding, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) + ZEND_ARG_INFO(0, encoding_list) + ZEND_ARG_TYPE_INFO(0, strict, _IS_BOOL, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_list_encodings, 0, 0, IS_ARRAY, 0) +ZEND_END_ARG_INFO() + +#define arginfo_mb_encoding_aliases arginfo_mb_preferred_mime_name + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_encode_mimeheader, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, charset, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, transfer, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, linefeed, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, indent, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_decode_mimeheader, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_convert_kana, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, option, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_convert_variables, 0, 0, 3) + ZEND_ARG_TYPE_INFO(0, to, IS_STRING, 0) + ZEND_ARG_INFO(0, from) + ZEND_ARG_INFO(1, var) + ZEND_ARG_VARIADIC_INFO(1, vars) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_encode_numericentity, 0, 0, 2) + ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0) + ZEND_ARG_INFO(0, convmap) + ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, is_hex, _IS_BOOL, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_decode_numericentity, 0, 0, 2) + ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0) + ZEND_ARG_INFO(0, convmap) + ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_send_mail, 0, 3, _IS_BOOL, 0) + ZEND_ARG_TYPE_INFO(0, to, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, subject, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, message, IS_STRING, 0) + ZEND_ARG_INFO(0, additional_headers) + ZEND_ARG_TYPE_INFO(0, additional_parameters, IS_STRING, 0) +ZEND_END_ARG_INFO() + +#define arginfo_mb_get_info arginfo_mb_http_input + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_check_encoding, 0, 0, _IS_BOOL, 0) + ZEND_ARG_INFO(0, var) + ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0) +ZEND_END_ARG_INFO() + +#define arginfo_mb_scrub arginfo_mb_strlen + +#define arginfo_mb_ord arginfo_mb_strlen + +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_chr, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, cp, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0) +ZEND_END_ARG_INFO() + +#if HAVE_MBREGEX +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_regex_encoding, 0, 0, 0) + ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0) +ZEND_END_ARG_INFO() +#endif + +#if HAVE_MBREGEX +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_ereg, 0, 0, 2) + ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0) + ZEND_ARG_INFO(1, registers) +ZEND_END_ARG_INFO() +#endif + +#if HAVE_MBREGEX +#define arginfo_mb_eregi arginfo_mb_ereg +#endif + +#if HAVE_MBREGEX +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_ereg_replace, 0, 0, 3) + ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, replacement, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, option, IS_STRING, 0) +ZEND_END_ARG_INFO() +#endif + +#if HAVE_MBREGEX +#define arginfo_mb_eregi_replace arginfo_mb_ereg_replace +#endif + +#if HAVE_MBREGEX +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_ereg_replace_callback, 0, 0, 3) + ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, callback, IS_CALLABLE, 0) + ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, option, IS_STRING, 0) +ZEND_END_ARG_INFO() +#endif + +#if HAVE_MBREGEX +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_split, 0, 0, 2) + ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, limit, IS_LONG, 0) +ZEND_END_ARG_INFO() +#endif + +#if HAVE_MBREGEX +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_ereg_match, 0, 2, _IS_BOOL, 0) + ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, option, IS_STRING, 0) +ZEND_END_ARG_INFO() +#endif + +#if HAVE_MBREGEX +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_ereg_search, 0, 0, 0) + ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, option, IS_STRING, 0) +ZEND_END_ARG_INFO() +#endif + +#if HAVE_MBREGEX +#define arginfo_mb_ereg_search_pos arginfo_mb_ereg_search +#endif + +#if HAVE_MBREGEX +#define arginfo_mb_ereg_search_regs arginfo_mb_ereg_search +#endif + +#if HAVE_MBREGEX +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_ereg_search_init, 0, 1, _IS_BOOL, 0) + ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, option, IS_STRING, 0) +ZEND_END_ARG_INFO() +#endif + +#if HAVE_MBREGEX +ZEND_BEGIN_ARG_INFO_EX(arginfo_mb_ereg_search_getregs, 0, 0, 0) +ZEND_END_ARG_INFO() +#endif + +#if HAVE_MBREGEX +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_ereg_search_getpos, 0, 0, IS_LONG, 0) +ZEND_END_ARG_INFO() +#endif + +#if HAVE_MBREGEX +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_ereg_search_setpos, 0, 1, _IS_BOOL, 0) + ZEND_ARG_TYPE_INFO(0, position, IS_LONG, 0) +ZEND_END_ARG_INFO() +#endif + +#if HAVE_MBREGEX +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mb_regex_set_options, 0, 0, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, options, IS_STRING, 0) +ZEND_END_ARG_INFO() +#endif |