From: Gabriel Caruso Date: Thu, 30 May 2019 18:03:28 +0000 (-0300) Subject: Add return type for string functions X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7393777da97977db5a4786a4dbe765bde4bc3921;p=php Add return type for string functions --- diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index 7d42375a02..31311ace8a 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -2157,23 +2157,23 @@ ZEND_END_ARG_INFO() #endif #ifdef HAVE_STRCOLL -ZEND_BEGIN_ARG_INFO(arginfo_strcoll, 0) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_strcoll, IS_LONG, 0) ZEND_ARG_INFO(0, str1) ZEND_ARG_INFO(0, str2) ZEND_END_ARG_INFO() #endif -ZEND_BEGIN_ARG_INFO_EX(arginfo_trim, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_trim, 0, 1, IS_STRING, 0) ZEND_ARG_INFO(0, str) ZEND_ARG_INFO(0, character_mask) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_rtrim, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_rtrim, 0, 1, IS_STRING, 0) ZEND_ARG_INFO(0, str) ZEND_ARG_INFO(0, character_mask) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_ltrim, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ltrim, 0, 1, IS_STRING, 0) ZEND_ARG_INFO(0, str) ZEND_ARG_INFO(0, character_mask) ZEND_END_ARG_INFO() @@ -2201,15 +2201,15 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_strtok, 0, 0, 1) ZEND_ARG_INFO(0, token) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO(arginfo_strtoupper, 0) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_strtoupper, IS_STRING, 0) ZEND_ARG_INFO(0, str) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO(arginfo_strtolower, 0) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_strtolower, IS_STRING, 0) ZEND_ARG_INFO(0, str) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_basename, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_basename, 0, 1, IS_STRING, 0) ZEND_ARG_INFO(0, path) ZEND_ARG_INFO(0, suffix) ZEND_END_ARG_INFO() @@ -2284,27 +2284,27 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_substr_replace, 0, 0, 3) ZEND_ARG_INFO(0, length) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO(arginfo_quotemeta, 0) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_quotemeta, IS_STRING, 0) ZEND_ARG_INFO(0, str) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO(arginfo_ord, 0) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ord, IS_LONG, 0) ZEND_ARG_INFO(0, character) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO(arginfo_chr, 0) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_chr, IS_STRING, 0) ZEND_ARG_INFO(0, codepoint) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO(arginfo_ucfirst, 0) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ucfirst, IS_STRING, 0) ZEND_ARG_INFO(0, str) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO(arginfo_lcfirst, 0) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_lcfirst, IS_STRING, 0) ZEND_ARG_INFO(0, str) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_ucwords, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ucwords, 0, 1, IS_STRING, 0) ZEND_ARG_INFO(0, str) ZEND_ARG_INFO(0, delimiters) ZEND_END_ARG_INFO() @@ -2319,26 +2319,26 @@ ZEND_BEGIN_ARG_INFO(arginfo_strrev, 0) ZEND_ARG_INFO(0, str) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_similar_text, 0, 0, 2) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_similar_text, 0, 2, IS_LONG, 0) ZEND_ARG_INFO(0, str1) ZEND_ARG_INFO(0, str2) ZEND_ARG_INFO(1, percent) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO(arginfo_addcslashes, 0) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_addcslashes, IS_STRING, 0) ZEND_ARG_INFO(0, str) ZEND_ARG_INFO(0, charlist) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO(arginfo_addslashes, 0) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_addslashes, IS_STRING, 0) ZEND_ARG_INFO(0, str) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO(arginfo_stripcslashes, 0) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_stripcslashes, IS_STRING, 0) ZEND_ARG_INFO(0, str) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO(arginfo_stripslashes, 0) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_stripslashes, IS_STRING, 0) ZEND_ARG_INFO(0, str) ZEND_END_ARG_INFO() @@ -2356,22 +2356,22 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_str_ireplace, 0, 0, 3) ZEND_ARG_INFO(1, replace_count) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_hebrev, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_hebrev, 0, 1, IS_STRING, 0) ZEND_ARG_INFO(0, str) ZEND_ARG_INFO(0, max_chars_per_line) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_hebrevc, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_hebrevc, 0, 1, IS_STRING, 0) ZEND_ARG_INFO(0, str) ZEND_ARG_INFO(0, max_chars_per_line) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_nl2br, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_nl2br, 0, 1, IS_STRING, 0) ZEND_ARG_INFO(0, str) ZEND_ARG_INFO(0, is_xhtml) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_strip_tags, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_strip_tags, 0, 1, IS_STRING, 0) ZEND_ARG_INFO(0, str) ZEND_ARG_INFO(0, allowable_tags) ZEND_END_ARG_INFO() @@ -2381,7 +2381,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_setlocale, 0, 0, 2) ZEND_ARG_VARIADIC_INFO(0, locales) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_parse_str, 0, 0, 2) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_parse_str, 0, 2, IS_VOID, 0) ZEND_ARG_INFO(0, encoded_string) ZEND_ARG_INFO(1, result) ZEND_END_ARG_INFO() @@ -2403,7 +2403,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_count_chars, 0, 0, 1) ZEND_ARG_INFO(0, mode) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO(arginfo_strnatcmp, 0) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_strnatcmp, IS_LONG, 0) ZEND_ARG_INFO(0, s1) ZEND_ARG_INFO(0, s2) ZEND_END_ARG_INFO() @@ -2411,7 +2411,7 @@ ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO(arginfo_localeconv, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO(arginfo_strnatcasecmp, 0) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_strnatcasecmp, IS_LONG, 0) ZEND_ARG_INFO(0, s1) ZEND_ARG_INFO(0, s2) ZEND_END_ARG_INFO() @@ -2436,11 +2436,11 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_sscanf, 0, 0, 2) ZEND_ARG_VARIADIC_INFO(1, vars) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO(arginfo_str_rot13, 0) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_str_rot13, IS_STRING, 0) ZEND_ARG_INFO(0, str) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO(arginfo_str_shuffle, 0) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_str_shuffle, IS_STRING, 0) ZEND_ARG_INFO(0, str) ZEND_END_ARG_INFO() @@ -2475,11 +2475,11 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_substr_compare, 0, 0, 3) ZEND_ARG_INFO(0, case_sensitivity) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_utf8_encode, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_utf8_encode, 0, 1, IS_STRING, 0) ZEND_ARG_INFO(0, data) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_utf8_decode, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_utf8_decode, 0, 1, IS_STRING, 0) ZEND_ARG_INFO(0, data) ZEND_END_ARG_INFO() /* }}} */ diff --git a/ext/standard/string.c b/ext/standard/string.c index 860dfd59d7..8db42ba1ff 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -223,7 +223,7 @@ PHP_MSHUTDOWN_FUNCTION(localeconv) /* }}} */ #endif -/* {{{ proto string bin2hex(string data) +/* {{{ proto string|false bin2hex(string data) Converts the binary representation of data to hex */ PHP_FUNCTION(bin2hex) { @@ -244,7 +244,7 @@ PHP_FUNCTION(bin2hex) } /* }}} */ -/* {{{ proto string hex2bin(string data) +/* {{{ proto string|false hex2bin(string data) Converts the hex representation of data to binary */ PHP_FUNCTION(hex2bin) { @@ -5458,7 +5458,7 @@ PHP_FUNCTION(strnatcasecmp) } /* }}} */ -/* {{{ proto int substr_count(string haystack, string needle [, int offset [, int length]]) +/* {{{ proto int|false substr_count(string haystack, string needle [, int offset [, int length]]) Returns the number of times a substring occurs in the string */ PHP_FUNCTION(substr_count) {