dmitry Fri Jul 13 15:22:34 2007 UTC Modified files: /php-src/ext/date php_date.c /php-src/ext/date/tests 010.phpt bug35499.phpt bug41523.phpt bug41964.phpt Log: Unicode support
http://cvs.php.net/viewvc.cgi/php-src/ext/date/php_date.c?r1=1.142&r2=1.143&diff_format=u Index: php-src/ext/date/php_date.c diff -u php-src/ext/date/php_date.c:1.142 php-src/ext/date/php_date.c:1.143 --- php-src/ext/date/php_date.c:1.142 Thu Jul 12 18:58:48 2007 +++ php-src/ext/date/php_date.c Fri Jul 13 15:22:34 2007 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_date.c,v 1.142 2007/07/12 18:58:48 derick Exp $ */ +/* $Id: php_date.c,v 1.143 2007/07/13 15:22:34 dmitry Exp $ */ #include "php.h" #include "php_streams.h" @@ -1915,16 +1915,16 @@ break; case TIMELIB_ZONETYPE_ID: if (parsed_time->tz_abbr) { - add_ascii_assoc_string(return_value, "tz_abbr", parsed_time->tz_abbr, 1); + add_ascii_assoc_ascii_string(return_value, "tz_abbr", parsed_time->tz_abbr, 1); } if (parsed_time->tz_info) { - add_ascii_assoc_string(return_value, "tz_id", parsed_time->tz_info->name, 1); + add_ascii_assoc_ascii_string(return_value, "tz_id", parsed_time->tz_info->name, 1); } break; case TIMELIB_ZONETYPE_ABBR: PHP_DATE_PARSE_DATE_SET_TIME_ELEMENT(zone, z); add_ascii_assoc_bool(return_value, "is_dst", parsed_time->dst); - add_ascii_assoc_string(return_value, "tz_abbr", parsed_time->tz_abbr, 1); + add_ascii_assoc_ascii_string(return_value, "tz_abbr", parsed_time->tz_abbr, 1); break; } } @@ -2318,7 +2318,7 @@ add_ascii_assoc_string(element, "time", php_format_date(DATE_FORMAT_ISO8601, 13, tzobj->tz->trans[i], 0 TSRMLS_CC), 0); add_ascii_assoc_long(element, "offset", tzobj->tz->type[tzobj->tz->trans_idx[i]].offset); add_ascii_assoc_bool(element, "isdst", tzobj->tz->type[tzobj->tz->trans_idx[i]].isdst); - add_ascii_assoc_string(element, "abbr", &tzobj->tz->timezone_abbr[tzobj->tz->type[tzobj->tz->trans_idx[i]].abbr_idx], 1); + add_ascii_assoc_ascii_string(element, "abbr", &tzobj->tz->timezone_abbr[tzobj->tz->type[tzobj->tz->trans_idx[i]].abbr_idx], 1); add_next_index_zval(return_value, element); } @@ -2364,7 +2364,7 @@ add_ascii_assoc_bool(element, "dst", entry->type); add_ascii_assoc_long(element, "offset", entry->gmtoffset); if (entry->full_tz_name) { - add_ascii_assoc_string(element, "timezone_id", entry->full_tz_name, 1); + add_ascii_assoc_ascii_string(element, "timezone_id", entry->full_tz_name, 1); } else { add_ascii_assoc_null(element, "timezone_id"); } http://cvs.php.net/viewvc.cgi/php-src/ext/date/tests/010.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/date/tests/010.phpt diff -u php-src/ext/date/tests/010.phpt:1.2 php-src/ext/date/tests/010.phpt:1.3 --- php-src/ext/date/tests/010.phpt:1.2 Fri Apr 20 20:57:57 2007 +++ php-src/ext/date/tests/010.phpt Fri Jul 13 15:22:34 2007 @@ -660,7 +660,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(16) "America/New_York" + unicode(16) "America/New_York" } [1]=> array(3) { @@ -669,7 +669,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(15) "America/Antigua" + unicode(15) "America/Antigua" } [2]=> array(3) { @@ -678,7 +678,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(16) "America/Atikokan" + unicode(16) "America/Atikokan" } [3]=> array(3) { @@ -687,7 +687,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(21) "America/Cambridge_Bay" + unicode(21) "America/Cambridge_Bay" } [4]=> array(3) { @@ -696,7 +696,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(14) "America/Cancun" + unicode(14) "America/Cancun" } [5]=> array(3) { @@ -705,7 +705,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(14) "America/Cayman" + unicode(14) "America/Cayman" } [6]=> array(3) { @@ -714,7 +714,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(15) "America/Chicago" + unicode(15) "America/Chicago" } [7]=> array(3) { @@ -723,7 +723,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(21) "America/Coral_Harbour" + unicode(21) "America/Coral_Harbour" } [8]=> array(3) { @@ -732,7 +732,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(15) "America/Detroit" + unicode(15) "America/Detroit" } [9]=> array(3) { @@ -741,7 +741,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(18) "America/Fort_Wayne" + unicode(18) "America/Fort_Wayne" } [10]=> array(3) { @@ -750,7 +750,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(18) "America/Grand_Turk" + unicode(18) "America/Grand_Turk" } [11]=> array(3) { @@ -759,7 +759,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(28) "America/Indiana/Indianapolis" + unicode(28) "America/Indiana/Indianapolis" } [12]=> array(3) { @@ -768,7 +768,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(20) "America/Indiana/Knox" + unicode(20) "America/Indiana/Knox" } [13]=> array(3) { @@ -777,7 +777,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(23) "America/Indiana/Marengo" + unicode(23) "America/Indiana/Marengo" } [14]=> array(3) { @@ -786,7 +786,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(26) "America/Indiana/Petersburg" + unicode(26) "America/Indiana/Petersburg" } [15]=> array(3) { @@ -795,7 +795,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(21) "America/Indiana/Vevay" + unicode(21) "America/Indiana/Vevay" } [16]=> array(3) { @@ -804,7 +804,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(25) "America/Indiana/Vincennes" + unicode(25) "America/Indiana/Vincennes" } [17]=> array(3) { @@ -813,7 +813,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(23) "America/Indiana/Winamac" + unicode(23) "America/Indiana/Winamac" } [18]=> array(3) { @@ -822,7 +822,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(20) "America/Indianapolis" + unicode(20) "America/Indianapolis" } [19]=> array(3) { @@ -831,7 +831,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(15) "America/Iqaluit" + unicode(15) "America/Iqaluit" } [20]=> array(3) { @@ -840,7 +840,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(15) "America/Jamaica" + unicode(15) "America/Jamaica" } [21]=> array(3) { @@ -849,7 +849,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(27) "America/Kentucky/Louisville" + unicode(27) "America/Kentucky/Louisville" } [22]=> array(3) { @@ -858,7 +858,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(27) "America/Kentucky/Monticello" + unicode(27) "America/Kentucky/Monticello" } [23]=> array(3) { @@ -867,7 +867,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(15) "America/Knox_IN" + unicode(15) "America/Knox_IN" } [24]=> array(3) { @@ -876,7 +876,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(18) "America/Louisville" + unicode(18) "America/Louisville" } [25]=> array(3) { @@ -885,7 +885,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(15) "America/Managua" + unicode(15) "America/Managua" } [26]=> array(3) { @@ -894,7 +894,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(17) "America/Menominee" + unicode(17) "America/Menominee" } [27]=> array(3) { @@ -903,7 +903,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(14) "America/Merida" + unicode(14) "America/Merida" } [28]=> array(3) { @@ -912,7 +912,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(16) "America/Montreal" + unicode(16) "America/Montreal" } [29]=> array(3) { @@ -921,7 +921,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(14) "America/Nassau" + unicode(14) "America/Nassau" } [30]=> array(3) { @@ -930,7 +930,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(15) "America/Nipigon" + unicode(15) "America/Nipigon" } [31]=> array(3) { @@ -939,7 +939,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(14) "America/Panama" + unicode(14) "America/Panama" } [32]=> array(3) { @@ -948,7 +948,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(19) "America/Pangnirtung" + unicode(19) "America/Pangnirtung" } [33]=> array(3) { @@ -957,7 +957,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(22) "America/Port-au-Prince" + unicode(22) "America/Port-au-Prince" } [34]=> array(3) { @@ -966,7 +966,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(20) "America/Rankin_Inlet" + unicode(20) "America/Rankin_Inlet" } [35]=> array(3) { @@ -975,7 +975,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(21) "America/Santo_Domingo" + unicode(21) "America/Santo_Domingo" } [36]=> array(3) { @@ -984,7 +984,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(19) "America/Thunder_Bay" + unicode(19) "America/Thunder_Bay" } [37]=> array(3) { @@ -993,7 +993,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(15) "America/Toronto" + unicode(15) "America/Toronto" } [38]=> array(3) { @@ -1002,7 +1002,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(14) "Canada/Eastern" + unicode(14) "Canada/Eastern" } [39]=> array(3) { @@ -1011,7 +1011,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(3) "EST" + unicode(3) "EST" } [40]=> array(3) { @@ -1020,7 +1020,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(7) "EST5EDT" + unicode(7) "EST5EDT" } [41]=> array(3) { @@ -1029,7 +1029,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(7) "Jamaica" + unicode(7) "Jamaica" } [42]=> array(3) { @@ -1038,7 +1038,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(10) "US/Central" + unicode(10) "US/Central" } [43]=> array(3) { @@ -1047,7 +1047,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(15) "US/East-Indiana" + unicode(15) "US/East-Indiana" } [44]=> array(3) { @@ -1056,7 +1056,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(10) "US/Eastern" + unicode(10) "US/Eastern" } [45]=> array(3) { @@ -1065,7 +1065,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(17) "US/Indiana-Starke" + unicode(17) "US/Indiana-Starke" } [46]=> array(3) { @@ -1074,7 +1074,7 @@ [u"offset"]=> int(-18000) [u"timezone_id"]=> - string(11) "US/Michigan" + unicode(11) "US/Michigan" } [47]=> array(3) { @@ -1083,7 +1083,7 @@ [u"offset"]=> int(36000) [u"timezone_id"]=> - string(13) "Australia/ACT" + unicode(13) "Australia/ACT" } [48]=> array(3) { @@ -1092,7 +1092,7 @@ [u"offset"]=> int(36000) [u"timezone_id"]=> - string(18) "Australia/Brisbane" + unicode(18) "Australia/Brisbane" } [49]=> array(3) { @@ -1101,7 +1101,7 @@ [u"offset"]=> int(36000) [u"timezone_id"]=> - string(18) "Australia/Canberra" + unicode(18) "Australia/Canberra" } [50]=> array(3) { @@ -1110,7 +1110,7 @@ [u"offset"]=> int(36000) [u"timezone_id"]=> - string(16) "Australia/Currie" + unicode(16) "Australia/Currie" } [51]=> array(3) { @@ -1119,7 +1119,7 @@ [u"offset"]=> int(36000) [u"timezone_id"]=> - string(16) "Australia/Hobart" + unicode(16) "Australia/Hobart" } [52]=> array(3) { @@ -1128,7 +1128,7 @@ [u"offset"]=> int(36000) [u"timezone_id"]=> - string(18) "Australia/Lindeman" + unicode(18) "Australia/Lindeman" } [53]=> array(3) { @@ -1137,7 +1137,7 @@ [u"offset"]=> int(36000) [u"timezone_id"]=> - string(19) "Australia/Melbourne" + unicode(19) "Australia/Melbourne" } [54]=> array(3) { @@ -1146,7 +1146,7 @@ [u"offset"]=> int(36000) [u"timezone_id"]=> - string(13) "Australia/NSW" + unicode(13) "Australia/NSW" } [55]=> array(3) { @@ -1155,7 +1155,7 @@ [u"offset"]=> int(36000) [u"timezone_id"]=> - string(20) "Australia/Queensland" + unicode(20) "Australia/Queensland" } [56]=> array(3) { @@ -1164,7 +1164,7 @@ [u"offset"]=> int(36000) [u"timezone_id"]=> - string(16) "Australia/Sydney" + unicode(16) "Australia/Sydney" } [57]=> array(3) { @@ -1173,7 +1173,7 @@ [u"offset"]=> int(36000) [u"timezone_id"]=> - string(18) "Australia/Tasmania" + unicode(18) "Australia/Tasmania" } [58]=> array(3) { @@ -1182,7 +1182,7 @@ [u"offset"]=> int(36000) [u"timezone_id"]=> - string(18) "Australia/Victoria" + unicode(18) "Australia/Victoria" } [59]=> array(3) { @@ -1191,7 +1191,7 @@ [u"offset"]=> int(39600) [u"timezone_id"]=> - string(19) "Australia/Melbourne" + unicode(19) "Australia/Melbourne" } [60]=> array(3) { @@ -1200,7 +1200,7 @@ [u"offset"]=> int(39600) [u"timezone_id"]=> - string(13) "Australia/ACT" + unicode(13) "Australia/ACT" } [61]=> array(3) { @@ -1209,7 +1209,7 @@ [u"offset"]=> int(39600) [u"timezone_id"]=> - string(18) "Australia/Brisbane" + unicode(18) "Australia/Brisbane" } [62]=> array(3) { @@ -1218,7 +1218,7 @@ [u"offset"]=> int(39600) [u"timezone_id"]=> - string(18) "Australia/Canberra" + unicode(18) "Australia/Canberra" } [63]=> array(3) { @@ -1227,7 +1227,7 @@ [u"offset"]=> int(39600) [u"timezone_id"]=> - string(16) "Australia/Currie" + unicode(16) "Australia/Currie" } [64]=> array(3) { @@ -1236,7 +1236,7 @@ [u"offset"]=> int(39600) [u"timezone_id"]=> - string(16) "Australia/Hobart" + unicode(16) "Australia/Hobart" } [65]=> array(3) { @@ -1245,7 +1245,7 @@ [u"offset"]=> int(39600) [u"timezone_id"]=> - string(18) "Australia/Lindeman" + unicode(18) "Australia/Lindeman" } [66]=> array(3) { @@ -1254,7 +1254,7 @@ [u"offset"]=> int(39600) [u"timezone_id"]=> - string(13) "Australia/NSW" + unicode(13) "Australia/NSW" } [67]=> array(3) { @@ -1263,7 +1263,7 @@ [u"offset"]=> int(39600) [u"timezone_id"]=> - string(20) "Australia/Queensland" + unicode(20) "Australia/Queensland" } [68]=> array(3) { @@ -1272,7 +1272,7 @@ [u"offset"]=> int(39600) [u"timezone_id"]=> - string(16) "Australia/Sydney" + unicode(16) "Australia/Sydney" } [69]=> array(3) { @@ -1281,7 +1281,7 @@ [u"offset"]=> int(39600) [u"timezone_id"]=> - string(18) "Australia/Tasmania" + unicode(18) "Australia/Tasmania" } [70]=> array(3) { @@ -1290,7 +1290,7 @@ [u"offset"]=> int(39600) [u"timezone_id"]=> - string(18) "Australia/Victoria" + unicode(18) "Australia/Victoria" } } Done http://cvs.php.net/viewvc.cgi/php-src/ext/date/tests/bug35499.phpt?r1=1.5&r2=1.6&diff_format=u Index: php-src/ext/date/tests/bug35499.phpt diff -u php-src/ext/date/tests/bug35499.phpt:1.5 php-src/ext/date/tests/bug35499.phpt:1.6 --- php-src/ext/date/tests/bug35499.phpt:1.5 Thu Jul 12 18:56:42 2007 +++ php-src/ext/date/tests/bug35499.phpt Fri Jul 13 15:22:34 2007 @@ -76,3 +76,70 @@ ["is_localtime"]=> bool(false) } +--UEXPECT-- +2005-11-20T08:00:00+0000 +2005-11-20T08:00:00+0000 +array(16) { + [u"year"]=> + bool(false) + [u"month"]=> + bool(false) + [u"day"]=> + bool(false) + [u"hour"]=> + bool(false) + [u"minute"]=> + bool(false) + [u"second"]=> + bool(false) + [u"fraction"]=> + bool(false) + [u"warning_count"]=> + int(0) + [u"warnings"]=> + array(0) { + } + [u"error_count"]=> + int(0) + [u"errors"]=> + array(0) { + } + [u"is_localtime"]=> + bool(true) + [u"zone_type"]=> + int(2) + [u"zone"]=> + int(-60) + [u"is_dst"]=> + bool(false) + [u"tz_abbr"]=> + unicode(1) "A" +} +array(12) { + [u"year"]=> + bool(false) + [u"month"]=> + bool(false) + [u"day"]=> + bool(false) + [u"hour"]=> + bool(false) + [u"minute"]=> + bool(false) + [u"second"]=> + bool(false) + [u"fraction"]=> + bool(false) + [u"warning_count"]=> + int(0) + [u"warnings"]=> + array(0) { + } + [u"error_count"]=> + int(0) + [u"errors"]=> + array(0) { + } + [u"is_localtime"]=> + bool(false) +} http://cvs.php.net/viewvc.cgi/php-src/ext/date/tests/bug41523.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/date/tests/bug41523.phpt diff -u php-src/ext/date/tests/bug41523.phpt:1.1 php-src/ext/date/tests/bug41523.phpt:1.2 --- php-src/ext/date/tests/bug41523.phpt:1.1 Thu Jul 12 18:56:42 2007 +++ php-src/ext/date/tests/bug41523.phpt Fri Jul 13 15:22:34 2007 @@ -43,3 +43,36 @@ object(DateTime)#1 (0) { } -0001-11-30T00:00:00+0000 +--UEXPECT-- +array(12) { + [u"year"]=> + int(0) + [u"month"]=> + int(0) + [u"day"]=> + int(0) + [u"hour"]=> + int(0) + [u"minute"]=> + int(0) + [u"second"]=> + int(0) + [u"fraction"]=> + float(0) + [u"warning_count"]=> + int(0) + [u"warnings"]=> + array(0) { + } + [u"error_count"]=> + int(0) + [u"errors"]=> + array(0) { + } + [u"is_localtime"]=> + bool(false) +} +bool(false) +object(DateTime)#1 (0) { +} +-0001-11-30T00:00:00+0000 http://cvs.php.net/viewvc.cgi/php-src/ext/date/tests/bug41964.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/date/tests/bug41964.phpt diff -u php-src/ext/date/tests/bug41964.phpt:1.1 php-src/ext/date/tests/bug41964.phpt:1.2 --- php-src/ext/date/tests/bug41964.phpt:1.1 Thu Jul 12 18:56:42 2007 +++ php-src/ext/date/tests/bug41964.phpt Fri Jul 13 15:22:34 2007 @@ -57,3 +57,24 @@ int(-60) string(1) "A" +--UEXPECT-- +NULL +NULL + +int(-60) +unicode(1) "A" + +int(-60) +unicode(1) "A" + +int(-60) +unicode(1) "A" + +int(-60) +unicode(1) "A" + +int(-60) +unicode(1) "A" + +int(-60) +unicode(1) "A"
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php