diff options
Diffstat (limited to 'src/systime.h')
-rw-r--r-- | src/systime.h | 111 |
1 files changed, 0 insertions, 111 deletions
diff --git a/src/systime.h b/src/systime.h index faf5d139956..0cc72ccb3c1 100644 --- a/src/systime.h +++ b/src/systime.h @@ -146,114 +146,3 @@ extern long timezone; } #endif /* ! defined (USE_UTIME) */ - - - -/* EMACS_CURRENT_TIME_ZONE (int *OFFSET, int *SAVINGS_FLAG, - char *STANDARD_ABBR, char *SAVINGS_ABBR); - expands to a statement which stores information about the current - time zone in its arguments. - - *OFFSET is set to the number of minutes EAST of Greenwich at which - the site's time zone is located. This should describe the offset - to standard time only; if some sort of daylight savings time is in - effect, that should not affect this value. Note that the tm_gmtoff - member of the struct tm returned by localtime is adjusted for - daylight savings, so you don't want to use localtime to set - *OFFSET; gettimeofday does the right thing. - - *SAVINGS_FLAG is set to 1 if some sort of daylight savings time is - currently in effect, or 0 if no seasonal adjustment is currently - active. - - *STANDARD_ABBR points to an array of at least 10 characters, which - should be set to the standard abbreviation for the time zone name - when daylight savings time is not active. For example, EDT would - be appropriate for the Eastern time zone of the USA. - - *SAVINGS_ABBR points to an array of at least 10 characters, which - should be set to the standard abbreviation for the time zone name - when daylight savings time is active. For example, EST would be - appropriate for the Eastern time zone of the USA. - - If the operating system cannot provide all this information, then - this macro will not be defined. */ - - -/* The operating system configuration file can define - EMACS_CURRENT_TIME_ZONE. If not, we'll take a shot at it here. */ - -#ifndef EMACS_CURRENT_TIME_ZONE - -/* System V derivatives have a timezone global variable. */ -#if defined(USG) || defined(VMS) -#define EMACS_GET_TZ_OFFSET(offset) \ - do { \ - tzset (); \ - *(offset) = timezone; \ - } while (0) -#endif - -/* If we have timeval, then we have gettimeofday; that's half the battle. */ -#if defined (HAVE_TIMEVAL) && !defined (EMACS_GET_TZ_OFFSET) -#define EMACS_GET_TZ_OFFSET(offset) \ - do { \ - struct timeval dummy; \ - struct timezone zoneinfo; \ - \ - gettimeofday (&dummy, &zoneinfo); \ - *(offset) = -zoneinfo.tz_minuteswest; \ - } while (0) -#endif /* ! defined (HAVE_TIMEVAL) */ - -/* The following sane systems have a tzname array. The timezone function - is a stupid idea; timezone names can only be determined geographically, - not by Greenwich offset. */ -#if defined (ultrix) || defined (hpux) || defined (_AIX) || defined (USG) || defined(VMS) - -#define EMACS_GET_TZ_NAMES(standard, savings) \ - do { \ - extern char *tzname[2]; \ - strcpy ((standard), tzname[0]); \ - strcpy ((savings), tzname[1]); \ - } while (0) - -#else /* ! defined (ultrix) || defined (hpux) || defined (_AIX) */ -/* If we are running SunOS, Mt. Xinu BSD, or MACH 2.5, these systems have a - timezone function. */ -#if (defined (hp9000) && ! defined (hpux) && defined (unix)) || defined (MACH) || defined (sun) || defined (NeXT) - -#define EMACS_GET_TZ_NAMES(standard, savings) \ - do { \ - struct timeval dummy; \ - struct timezone zoneinfo; \ - extern char *timezone (); \ - \ - gettimeofday (&dummy, &zoneinfo); \ - strcpy ((standard), timezone (zoneinfo.tz_minuteswest, 0)); \ - strcpy ((savings), timezone (zoneinfo.tz_minuteswest, 1)); \ - } while (0) - -#endif /* ! (defined (hp9000) && ! defined (hpux) && defined (unix)) || defined (MACH) || defined (sun) */ -#endif /* ! defined (ultrix) || defined (hpux) || defined (_AIX) */ - -/* If we can get all the information we need, let's define the macro! */ -#if defined (EMACS_GET_TZ_OFFSET) && defined (EMACS_GET_TZ_NAMES) - -#define EMACS_CURRENT_TIME_ZONE(offset, savings_flag, standard, savings)\ - do { \ - EMACS_TIME t; \ - long secs; \ - struct tm *tmp; \ - \ - EMACS_GET_TIME (t); \ - secs = EMACS_SECS (t); \ - tmp = localtime (&secs); \ - *(savings_flag) = tmp->tm_isdst; \ - \ - EMACS_GET_TZ_OFFSET (offset); \ - EMACS_GET_TZ_NAMES (standard, savings); \ - } while (0) -#endif /* ! defined (EMACS_GET_TZ_OFFSET) && defined (EMACS_GET_TZ_NAMES) */ - -#endif /* EMACS_CURRENT_TIME_ZONE */ |