]> granicus.if.org Git - php/commitdiff
Unicode support
authorDmitry Stogov <dmitry@php.net>
Tue, 16 Aug 2005 10:18:43 +0000 (10:18 +0000)
committerDmitry Stogov <dmitry@php.net>
Tue, 16 Aug 2005 10:18:43 +0000 (10:18 +0000)
ext/standard/md5.c
ext/standard/tests/strings/explode.phpt
ext/standard/tests/strings/strcspn.phpt
ext/standard/tests/strings/strspn.phpt
ext/standard/tests/strings/strstr.phpt

index 7242b406269dbcc3b185d017731dee795e83e763..d8eb900eb5d0fad4ef3c4f065f40213f653fdc02 100644 (file)
@@ -61,7 +61,12 @@ PHP_NAMED_FUNCTION(php_if_md5)
                RETURN_STRINGL(digest, 16, 1);
        } else {
                make_digest(md5str, digest);
-               RETVAL_STRING(md5str, 1);
+               if (UG(unicode)) {
+                       UChar *u_temp = zend_ascii_to_unicode(md5str, 33 ZEND_FILE_LINE_CC);
+                       RETVAL_UNICODE(u_temp, 0);
+               } else {
+                       RETVAL_STRING(md5str, 1);
+               }
        }
 
 }
@@ -108,7 +113,12 @@ PHP_NAMED_FUNCTION(php_if_md5_file)
                RETURN_STRINGL(digest, 16, 1);
        } else {
                make_digest(md5str, digest);
-               RETVAL_STRING(md5str, 1);
+               if (UG(unicode)) {
+                       UChar *u_temp = zend_ascii_to_unicode(md5str, 33 ZEND_FILE_LINE_CC);
+                       RETVAL_UNICODE(u_temp, 0);
+               } else {
+                       RETVAL_STRING(md5str, 1);
+               }
        }
 }
 /* }}} */
index 1198a09a9773cd56af60c48207a5611265caab65..35ab73a4eda41e7c3b8c2492f2e660d02fa76cb1 100644 (file)
@@ -152,3 +152,127 @@ array(1) {
   [0]=>
   string(10) "a lazy dog"
 }
+--UEXPECTF--
+26d4e18734cb2582df5055e2175223df
+bool(false)
+bool(false)
+bool(false)
+array(1) {
+  [0]=>
+  unicode(0) ""
+}
+array(2) {
+  [0]=>
+  unicode(0) ""
+  [1]=>
+  unicode(0) ""
+}
+array(1) {
+  [0]=>
+  unicode(0) ""
+}
+bool(false)
+array(1) {
+  [0]=>
+  unicode(3) "acb"
+}
+array(1) {
+  [0]=>
+  unicode(11) "otherstring"
+}
+array(7) {
+  [0]=>
+  unicode(0) ""
+  [1]=>
+  unicode(0) ""
+  [2]=>
+  unicode(0) ""
+  [3]=>
+  unicode(0) ""
+  [4]=>
+  unicode(0) ""
+  [5]=>
+  unicode(0) ""
+  [6]=>
+  unicode(0) ""
+}
+array(1) {
+  [0]=>
+  unicode(60) "-=48=--=48=--=48=--=48=--=48=--=48=--=48=--=48=--=48=--=48=-"
+}
+array(21) {
+  [0]=>
+  unicode(1) "-"
+  [1]=>
+  unicode(2) "48"
+  [2]=>
+  unicode(2) "--"
+  [3]=>
+  unicode(2) "48"
+  [4]=>
+  unicode(2) "--"
+  [5]=>
+  unicode(2) "48"
+  [6]=>
+  unicode(2) "--"
+  [7]=>
+  unicode(2) "48"
+  [8]=>
+  unicode(2) "--"
+  [9]=>
+  unicode(2) "48"
+  [10]=>
+  unicode(2) "--"
+  [11]=>
+  unicode(2) "48"
+  [12]=>
+  unicode(2) "--"
+  [13]=>
+  unicode(2) "48"
+  [14]=>
+  unicode(2) "--"
+  [15]=>
+  unicode(2) "48"
+  [16]=>
+  unicode(2) "--"
+  [17]=>
+  unicode(2) "48"
+  [18]=>
+  unicode(2) "--"
+  [19]=>
+  unicode(2) "48"
+  [20]=>
+  unicode(1) "-"
+}
+array(3) {
+  [0]=>
+  unicode(10) "a lazy dog"
+  [1]=>
+  unicode(5) "jumps"
+  [2]=>
+  unicode(4) "over"
+}
+array(2) {
+  [0]=>
+  unicode(10) "a lazy dog"
+  [1]=>
+  unicode(5) "jumps"
+}
+array(1) {
+  [0]=>
+  unicode(10) "a lazy dog"
+}
+array(0) {
+}
+array(0) {
+}
+array(2) {
+  [0]=>
+  unicode(10) "a lazy dog"
+  [1]=>
+  unicode(11) "jumps::over"
+}
+array(1) {
+  [0]=>
+  unicode(10) "a lazy dog"
+}
index 88bcee5c19fd75abedba77aafc03eea40b1b6325..8f8b1a4285dc61e0e420823c5ea669742da52a24 100644 (file)
@@ -16,3 +16,9 @@ string(4) "1234"
 int(0)
 int(7)
 int(6)
+--UEXPECT--
+unicode(25) "22222222aaaa bbb1111 cccc"
+unicode(4) "1234"
+int(0)
+int(7)
+int(6)
index 9f498b84d67db1779ff7e9a1e2301be710f9ef94..6780e1d3981c44a5b6bca3d3e7ccc456f1571d11 100644 (file)
@@ -16,3 +16,9 @@ string(4) "1234"
 int(8)
 int(6)
 int(3)
+--UEXPECT--
+unicode(25) "22222222aaaa bbb1111 cccc"
+unicode(4) "1234"
+int(8)
+int(6)
+int(3)
index e18a41053ed41ca3fd0e93dccffd6309398c0203..85e832e69e9238570155610b51b6da574ed4b70b 100644 (file)
@@ -32,3 +32,18 @@ bool(false)
 string(32) "6ec19f52f0766c463f3bb240f4396913"
 string(7) " string"
 string(4) "test"
+--UEXPECT--
+unicode(11) "test string"
+unicode(6) "string"
+unicode(6) "string"
+unicode(8) "t string"
+unicode(1) "g"
+unicode(32) "7272696018bdeb2c9a3f8d01fc2a9273"
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+unicode(32) "6ec19f52f0766c463f3bb240f4396913"
+unicode(7) " string"
+unicode(4) "test"