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



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to