From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3160 invoked by alias); 22 Feb 2007 16:05:17 -0000 Received: (qmail 3132 invoked by alias); 22 Feb 2007 16:05:17 -0000 Date: Thu, 22 Feb 2007 16:05:00 -0000 Message-ID: <20070222160517.3131.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug libgcj/17002] java.util.TimeZone.getDefault() is broken In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: java-prs@gcc.gnu.org From: "jakub at gcc dot gnu dot org" Mailing-List: contact java-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: java-prs-owner@gcc.gnu.org X-SW-Source: 2007-q1/txt/msg00370.txt.bz2 ------- Comment #6 from jakub at gcc dot gnu dot org 2007-02-22 16:05 ------- Subject: Bug 17002 Author: jakub Date: Thu Feb 22 16:04:55 2007 New Revision: 122229 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=122229 Log: libjava/ PR libgcj/17002 PR classpath/28550 * java/util/VMTimeZone.java (getDefaultTimeZoneId): To read /etc/localtime, use ZoneInfo.readTZFile instead of VMTimeZone.readtzFile. Get better timezone name for /etc/localtime, either if it is a symlink or through /etc/sysconfig/clock. (readSysconfigClockFile): New static method. (readtzFile): Removed. * java/lang/System.java: Add gnu.java.util.zoneinfo.dir to comments. * posix.cc (_Jv_platform_initProperties): Set gnu.java.util.zoneinfo.dir. * sources.am (gnu_java_util_source_files): Add classpath/gnu/java/util/ZoneInfo.java. * Makefile.in: Regenerated. * java/util/VMTimeZone.h: Regenerated. * java/util/TimeZone.h: Regenerated. * gnu/java/util/ZoneInfo.h: Generated. libjava/classpath/ * java/util/Date.java (parse): Properly parse 09:01:02 as hours/minutes/seconds, not as hours/minutes/year. * java/util/SimpleTimeZone.java (SimpleTimeZone): Simplify {start,end}TimeMode constructor by calling shorter constructor, set {start,end}TimeMode fields after it returns. (setStartRule): Don't adjust startTime into WALL_TIME. Set startTimeMode to WALL_TIME. (endStartRule): Similarly. (getOffset): Handle properly millis + dstOffset overflowing into the next day. Adjust startTime resp. endTime based on startTimeMode resp. endTimeMode. * java/util/TimeZone.java (zoneinfo_dir, availableIDs, aliases0): New static fields. (timezones): Remove synchronized keyword. Set zoneinfo_dir. If non-null, set up aliases0 and don't put anything into timezones0. (defaultZone): Call getTimeZone instead of timezones().get. (getDefaultTimeZone): Fix parsing of EST5 or EST5EDT6. Use getTimeZoneInternal instead of timezones().get. (parseTime): Parse correctly hour:minute. (getTimeZoneInternal): New private method. (getTimeZone): Do the custom ID checking first, canonicalize ID for custom IDs as required by documentation. Call getTimeZoneInternal to handle the rest. (getAvailableIDs(int)): Add locking. Handle zoneinfo_dir != null. (getAvailableIDs(File,String,ArrayList)): New private method. (getAvailableIDs()): Add locking. Handle zoneinfo_dir != null. * gnu/java/util/ZoneInfo.java: New file. Added: trunk/libjava/classpath/gnu/java/util/ZoneInfo.java trunk/libjava/classpath/lib/gnu/java/util/ZoneInfo.class (with props) trunk/libjava/gnu/java/util/ZoneInfo.h Modified: trunk/libjava/ChangeLog trunk/libjava/Makefile.in trunk/libjava/classpath/ChangeLog trunk/libjava/classpath/java/util/Date.java trunk/libjava/classpath/java/util/SimpleTimeZone.java trunk/libjava/classpath/java/util/TimeZone.java trunk/libjava/classpath/lib/java/util/Date.class trunk/libjava/classpath/lib/java/util/SimpleTimeZone.class trunk/libjava/classpath/lib/java/util/TimeZone$1.class trunk/libjava/classpath/lib/java/util/TimeZone.class trunk/libjava/classpath/lib/java/util/VMTimeZone.class trunk/libjava/java/lang/System.java trunk/libjava/java/util/TimeZone.h trunk/libjava/java/util/VMTimeZone.h trunk/libjava/java/util/VMTimeZone.java trunk/libjava/posix.cc trunk/libjava/sources.am Propchange: trunk/libjava/classpath/lib/gnu/java/util/ZoneInfo.class ('svn:mime-type' added) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17002