diff options
author | Warren Levy <warrenl@cygnus.com> | 2000-11-28 03:09:22 +0000 |
---|---|---|
committer | Warren Levy <warrenl@gcc.gnu.org> | 2000-11-28 03:09:22 +0000 |
commit | a22add726841748f6c4051f8d9b4278ba5ddbce9 (patch) | |
tree | 1662df7a9a7114295c1d93c1195edd57cd72c465 /libjava/java/util/natTimeZone.cc | |
parent | 9734e80cade2a318334a7b3f83ec787d07df80c4 (diff) | |
download | gcc-a22add726841748f6c4051f8d9b4278ba5ddbce9.zip gcc-a22add726841748f6c4051f8d9b4278ba5ddbce9.tar.gz gcc-a22add726841748f6c4051f8d9b4278ba5ddbce9.tar.bz2 |
Makefile.am: Added natTimeZone.cc.
* Makefile.am: Added natTimeZone.cc.
* Makefile.in: Rebuilt.
* gnu/gcj/text/LocaleData_en.java: Added DateFormat entries.
* java/text/DateFormatSymbols.java (ampms): Made package private.
(eras): Made package private.
(months): Made package private.
(shortMonths): Made package private.
(shortWeekdays): Made package private.
(weekdays): Made package private.
(formatPrefixes): New private field.
(localPatternCharsDefault): Made private.
(dateFormats): New package private field.
(timeFormats): New package private field.
(formatsForKey): New private method.
(DateFormatSymbols(Locale)): Set dateFormats and timeFormats.
(DateFormatSymbols(DateFormatSymbols)): Ditto.
* java/text/SimpleDateFormat.java: Merged with Classpath.
* java/util/TimeZone.java: Merged with Classpath.
* java/util/natTimeZone.cc: New file.
From-SVN: r37808
Diffstat (limited to 'libjava/java/util/natTimeZone.cc')
-rw-r--r-- | libjava/java/util/natTimeZone.cc | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/libjava/java/util/natTimeZone.cc b/libjava/java/util/natTimeZone.cc new file mode 100644 index 0000000..61128c8 --- /dev/null +++ b/libjava/java/util/natTimeZone.cc @@ -0,0 +1,72 @@ +/* Copyright (C) 2000 Free Software Foundation + + This file is part of libgcj. + +This software is copyrighted work licensed under the terms of the +Libgcj License. Please consult the file "LIBGCJ_LICENSE" for +details. */ + +#include <config.h> + +#include <gcj/cni.h> +#include <java/util/TimeZone.h> + +#include <stdio.h> +#include <string.h> + +#if TIME_WITH_SYS_TIME +# include <sys/time.h> +# include <time.h> +#else +# if HAVE_SYS_TIME_H +# include <sys/time.h> +# else +# include <time.h> +# endif +#endif + +/* + * This method returns a time zone string that is used by the static + * initializer in java.util.TimeZone to create the default timezone + * instance. This is a key into the timezone table used by + * that class. + */ +jstring +java::util::TimeZone::getDefaultTimeZoneId (void) +{ + time_t current_time; + char **tzinfo, *tzid; + long tzoffset; + jstring retval; + + current_time = time(0); + + mktime(localtime(¤t_time)); + tzinfo = tzname; + tzoffset = timezone; + + if ((tzoffset % 3600) == 0) + tzoffset = tzoffset / 3600; + + if (!strcmp(tzinfo[0], tzinfo[1])) + { + tzid = (char*) _Jv_Malloc (strlen(tzinfo[0]) + 6); + if (!tzid) + return NULL; + + sprintf(tzid, "%s%ld", tzinfo[0], tzoffset); + } + else + { + tzid = (char*) _Jv_Malloc (strlen(tzinfo[0]) + strlen(tzinfo[1]) + 6); + if (!tzid) + return NULL; + + sprintf(tzid, "%s%ld%s", tzinfo[0], tzoffset, tzinfo[1]); + } + + retval = JvNewStringUTF (tzid); + _Jv_Free (tzid); + return retval; +} + |