long int offset;
if (__use_tzfile) __tzfile_compute (*timer, use_localtime, &leap_correction, &leap_extra_secs, tp); else { if (! __offtime (timer, 0, tp)) tp = NULL; else tz_compute (tp); leap_correction = 0L; leap_extra_secs = 0; }
weak_alias (__tzname, tzname)weak_alias (__daylight, daylight)weak_alias (__timezone, timezone)/* This locks all the state variables in tzfile.c and this file.  */__libc_lock_define_initialized (static, tzset_lock)#define	min(a, b)	((a) < (b) ? (a) : (b))#define	max(a, b)	((a) > (b) ? (a) : (b))#define	sign(x)		((x) < 0 ? -1 : 1)/* This structure contains all the information about a   timezone given in the POSIX standard TZ envariable.  */typedef struct  {    const char *name;    /* When to change.  */    enum { J0, J1, M } type;	/* Interpretation of:  */    unsigned short int m, n, d;	/* Month, week, day.  */    unsigned int secs;		/* Time of day.  */    long int offset;		/* Seconds east of GMT (west if < 0).  */    /* We cache the computed time of change for a       given year so we don't have to recompute it.  */    time_t change;	/* When to change to this zone.  */    int computed_for;	/* Year above is computed for.  */  } tz_rule;