cvs: php4 /ext/mbstring mbstring.c mbstring.h /ext/mbstring/tests 026.inc 026.phpt

From: Date: Mon, 21 Oct 2002 01:45:00 +0000
Subject: cvs: php4 /ext/mbstring mbstring.c mbstring.h /ext/mbstring/tests 026.inc 026.phpt
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-15080@lists.php.net to get a copy of this message
moriyoshi Sun Oct 20 21:45:00 2002 EDT Added files: /php4/ext/mbstring/tests 026.inc 026.phpt Modified files: /php4/ext/mbstring mbstring.c mbstring.h Log: Added mb_strtolower() and mb_strtoupper() @- Added mb_strtolower() and mb_strtoupper(). (Moriyoshi) Index: php4/ext/mbstring/mbstring.c diff -u php4/ext/mbstring/mbstring.c:1.107 php4/ext/mbstring/mbstring.c:1.108 --- php4/ext/mbstring/mbstring.c:1.107 Sun Oct 20 03:16:20 2002 +++ php4/ext/mbstring/mbstring.c Sun Oct 20 21:44:59 2002 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: mbstring.c,v 1.107 2002/10/20 07:16:20 moriyoshi Exp $ */ +/* $Id: mbstring.c,v 1.108 2002/10/21 01:44:59 moriyoshi Exp $ */ /* * PHP4 Multibyte String module "mbstring" (currently only for Japanese) @@ -162,6 +162,8 @@ {MB_OVERLOAD_STRING, "strpos", "mb_strpos", "mb_orig_strrpos"}, {MB_OVERLOAD_STRING, "strrpos", "mb_strrpos", "mb_orig_strrpos"}, {MB_OVERLOAD_STRING, "substr", "mb_substr", "mb_orig_substr"}, + {MB_OVERLOAD_STRING, "strtolower", "mb_strtolower", "mb_orig_strtolower"}, + {MB_OVERLOAD_STRING, "strtoupper", "mb_strtoupper", "mb_orig_strtoupper"}, #if HAVE_MBREGEX {MB_OVERLOAD_REGEX, "ereg", "mb_ereg", "mb_orig_ereg"}, {MB_OVERLOAD_REGEX, "eregi", "mb_eregi", "mb_orig_eregi"}, @@ -189,6 +191,8 @@ function_entry mbstring_functions[] = { PHP_FE(mb_convert_case, NULL) + PHP_FE(mb_strtoupper, NULL) + PHP_FE(mb_strtolower, NULL) PHP_FE(mb_language, NULL) PHP_FE(mb_internal_encoding, NULL) PHP_FE(mb_http_input, NULL) @@ -2579,6 +2583,55 @@ } /* }}} */ + +/* {{{ proto string mb_strtoupper(string sourcestring, [, string encoding]) + * Returns a uppercased version of sourcestring + */ +PHP_FUNCTION(mb_strtoupper) +{ + char *str, *from_encoding = (char*)mbfl_no2preferred_mime_name(MBSTRG(current_internal_encoding)); + long str_len, from_encoding_len; + long case_mode = 0; + char *newstr; + size_t ret_len; + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s!", &str, &str_len, + &from_encoding, &from_encoding_len) == FAILURE) { + RETURN_FALSE; + } + newstr = php_unicode_convert_case(PHP_UNICODE_CASE_UPPER, str, str_len, &ret_len, from_encoding TSRMLS_CC); + + if (newstr) + RETURN_STRINGL(newstr, ret_len, 0); + + RETURN_FALSE; +} +/* }}} */ + +/* {{{ proto string mb_strtolower(string sourcestring, [, string encoding]) + * Returns a lowercased version of sourcestring + */ +PHP_FUNCTION(mb_strtolower) +{ + char *str, *from_encoding = (char*)mbfl_no2preferred_mime_name(MBSTRG(current_internal_encoding)); + long str_len, from_encoding_len; + long case_mode = 0; + char *newstr; + size_t ret_len; + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s!", &str, &str_len, + &from_encoding, &from_encoding_len) == FAILURE) { + RETURN_FALSE; + } + newstr = php_unicode_convert_case(PHP_UNICODE_CASE_LOWER, str, str_len, &ret_len, from_encoding TSRMLS_CC); + + if (newstr) + RETURN_STRINGL(newstr, ret_len, 0); + + RETURN_FALSE; +} +/* }}} */ + /* {{{ proto string mb_detect_encoding(string str [, mixed encoding_list]) Encodings of the given string is returned (as a string) */ Index: php4/ext/mbstring/mbstring.h diff -u php4/ext/mbstring/mbstring.h:1.33 php4/ext/mbstring/mbstring.h:1.34 --- php4/ext/mbstring/mbstring.h:1.33 Sat Oct 19 22:57:39 2002 +++ php4/ext/mbstring/mbstring.h Sun Oct 20 21:44:59 2002 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: mbstring.h,v 1.33 2002/10/20 02:57:39 fujimoto Exp $ */ +/* $Id: mbstring.h,v 1.34 2002/10/21 01:44:59 moriyoshi Exp $ */ /* * PHP4 Multibyte String module "mbstring" (currently only for Japanese) @@ -78,6 +78,8 @@ /* functions in php_unicode.c */ PHP_FUNCTION(mb_convert_case); +PHP_FUNCTION(mb_strtoupper); +PHP_FUNCTION(mb_strtolower); /* php function registration */ PHP_FUNCTION(mb_language); Index: php4/ext/mbstring/tests/026.inc +++ php4/ext/mbstring/tests/026.inc <?php print mb_strtolower( "ABCDEFGHIJKLMNOPQRSTUVWXYZ\n" ); print mb_strtoupper( mb_strtolower( "ABCDEFGHIJKLMNOPQRSTUVWXYZ\n" ) ); ?> Index: php4/ext/mbstring/tests/026.phpt +++ php4/ext/mbstring/tests/026.phpt --TEST-- mb_strtoupper() / mb_strtolower() --SKIPIF-- <?php include('skipif.inc'); ?> function_exists('mb_strtolower') or die("SKIP"); --POST-- --GET-- --FILE-- <?php include('026.inc'); ?> --EXPECT-- abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ

« previous php.cvs (#15080) next »