Can GPC not sometimes have 16 bit Integer? Because if so, that field would be too small.
No, `Integer' is at least 32 bits.
Ok, fair enough.
Hmm, the TimeZone on my system comes back as:
TimeZone (in seconds): -1878692308
Just to be sure, a test program like this does so?
program Foo;
var t: TimeStamp;
begin GetTimeStamp (t); WriteLn (t.TimeValid, ' ', t.TimeZone) end.
True -1878692308
What does the following C program give?
#include <stdio.h> #include <sys/time.h>
#if 0 /* Set if variable not defined */ extern long int timezone; #endif
int main () { time_t s = (time_t) time (0); localtime (&s); printf ("%li\n", (long int) timezone); return 0; }
It returns the same number.
Do you find any mentioning of `timezone' in the system headers?
man timezone gives: TIMEZONE(3) System Library Functions Manual TIMEZONE(3) NAME timezone - return the timezone abbreviation LIBRARY Standard C Library (libc, -lc) SYNOPSIS char * timezone(int zone, int dst); DESCRIPTION This interface is for compatibility only; it is impossible to reliably map timezone's arguments to a time zone abbreviation. See ctime(3). The timezone() function returns a pointer to a time zone abbreviation for the specified zone and dst values. Zone is the number of minutes west of GMT and dst is non-zero if daylight savings time is in effect. SEE ALSO ctime(3) HISTORY A timezone() function appeared in Version 7 AT&T UNIX. BSD April 19, 1994 BSD Seems like you need to call localtime and use the tm_gmtoff field. I imagine this would be the same as under FreeBSD as Mac OS X's unix is based on FreeBSD. Enjoy, Peter. -- <http://www.interarchy.com/> <http://download.interarchy.com/>