mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-23 03:19:09 +08:00
a22add7268
* 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
73 lines
1.5 KiB
C++
73 lines
1.5 KiB
C++
/* 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;
|
|
}
|
|
|