PatchSet 4981 Date: 2004/07/17 15:33:33 Author: guilhem Branch: HEAD Tag: (none) Log: Again a fix for Solaris.
2004-07-17 Riccardo Mottola <[EMAIL PROTECTED]> * libraries/clib/native/TimeZone.c (java_util_TimeZone_getDefaultTimeZoneId): The old code has been put back again because some architectures does not implement tm_zone. Members: ChangeLog:1.2545->1.2546 libraries/clib/native/TimeZone.c:1.2->1.3 Index: kaffe/ChangeLog diff -u kaffe/ChangeLog:1.2545 kaffe/ChangeLog:1.2546 --- kaffe/ChangeLog:1.2545 Sat Jul 17 13:55:59 2004 +++ kaffe/ChangeLog Sat Jul 17 15:33:33 2004 @@ -1,3 +1,10 @@ +2004-07-17 Riccardo Mottola <[EMAIL PROTECTED]> + + * libraries/clib/native/TimeZone.c + (java_util_TimeZone_getDefaultTimeZoneId): + The old code has been put back again because some + architectures does not implement tm_zone. + 2004-07-17 Guilhem Lavaux <[EMAIL PROTECTED]> * configure.ac: Added a new test to check whether tm_zone exists in Index: kaffe/libraries/clib/native/TimeZone.c diff -u kaffe/libraries/clib/native/TimeZone.c:1.2 kaffe/libraries/clib/native/TimeZone.c:1.3 --- kaffe/libraries/clib/native/TimeZone.c:1.2 Fri Jul 16 16:21:04 2004 +++ kaffe/libraries/clib/native/TimeZone.c Sat Jul 17 15:33:37 2004 @@ -1,11 +1,19 @@ /* * java.util.TimeZone.c * - * Copyright (c) 2003 - * Kaffe's team. + * Copyright (c) 2003, 2004 + * The Kaffe.org's team. * * See the file "license.terms" for information on usage and redistribution * of this file. + * + * PORTABILITY NOTES + * tm->tm_zone is the preferred way to access time zone name + * on other sytem the use of the external + * extern char *tzname[] + * is attempted. + * On some systems the external symbol is present in the libc but is not exported in the headers + * I suggest in that case to put it in the respective md.h of that platform. */ #include "config.h" #include "config-std.h" @@ -15,17 +23,18 @@ struct Hjava_lang_String* java_util_TimeZone_getDefaultTimeZoneId(void) { -#ifdef HAVE_TIME_H - struct tm *tempTimeStruct; - time_t tempTimeArithm; - char *tempZoneName; + char *tempZoneName = NULL; +#ifdef HAVE_DECLARED_TM_ZONE + struct tm *tempTimeStruct; + time_t tempTimeArithm; - tempTimeArithm = 0; - tempTimeStruct = localtime (&tempTimeArithm); - tempZoneName = tempTimeStruct->tm_zone; - assert(tempZoneName != NULL); - return stringC2Java(tempZoneName); + tempTimeArithm = 0; + tempTimeStruct = localtime (&tempTimeArithm); + tempZoneName = tempTimeStruct->tm_zone; #else - return NULL; + tzset(); + tempZoneName = tzname[0]; /* read above for this external symbol */ #endif + assert(tempZoneName != NULL); + return stringC2Java(tempZoneName); } _______________________________________________ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe