time_t			t, newt;
time_t			t; time_t			newt;
main(argc, argv)int	argc;char *	argv[];{	register int		i, c;	register int		vflag;	register char *		cutoff;	register int		cutyear;	register long		cuttime;	char **			fakeenv;	time_t			now;	time_t			t, newt;	time_t			hibit;	struct tm		tm, newtm;	INITIALIZE(cuttime);	progname = argv[0];	vflag = 0;	cutoff = NULL;	while ((c = getopt(argc, argv, "c:v")) == 'c' || c == 'v')		if (c == 'v')			vflag = 1;		else	cutoff = optarg;	if (c != EOF ||		(optind == argc - 1 && strcmp(argv[optind], "=") == 0)) {			(void) fprintf(stderr,"%s: usage is %s [ -v ] [ -c cutoff ] zonename ...\n",				argv[0], argv[0]);			(void) exit(EXIT_FAILURE);	}	if (cutoff != NULL) {		int	y;		cutyear = atoi(cutoff);		cuttime = 0;		for (y = EPOCH_YEAR; y < cutyear; ++y)			cuttime += DAYSPERNYEAR + isleap(y);		cuttime *= SECSPERHOUR * HOURSPERDAY;	}	(void) time(&now);	longest = 0;	for (i = optind; i < argc; ++i)		if (strlen(argv[i]) > longest)			longest = strlen(argv[i]);	for (hibit = 1; (hibit << 1) != 0; hibit <<= 1)		continue;	{		register int	from, to;		for (i = 0;  environ[i] != NULL;  ++i)			continue;		fakeenv = (char **) malloc((i + 2) * sizeof *fakeenv);		if (fakeenv == NULL ||			(fakeenv[0] = (char *) malloc(longest + 4)) == NULL) {				(void) perror(progname);				(void) exit(EXIT_FAILURE);		}		to = 0;		(void) strcpy(fakeenv[to++], "TZ=");		for (from = 0; environ[from] != NULL; ++from)			if (strncmp(environ[from], "TZ=", 3) != 0)				fakeenv[to++] = environ[from];		fakeenv[to] = NULL;		environ = fakeenv;	}	for (i = optind; i < argc; ++i) {		static char	buf[MAX_STRING_LENGTH];		(void) strcpy(&fakeenv[0][3], argv[i]);		show(argv[i], now, FALSE);		if (!vflag)			continue;		/*		** Get lowest value of t.		*/		t = hibit;		if (t > 0)		/* time_t is unsigned */			t = 0;		show(argv[i], t, TRUE);		t += SECSPERHOUR * HOURSPERDAY;		show(argv[i], t, TRUE);		tm = *localtime(&t);		(void) strncpy(buf, abbr(&tm), (sizeof buf) - 1);		for ( ; ; ) {			if (cutoff != NULL && t >= cuttime)				break;			newt = t + SECSPERHOUR * 12;			if (cutoff != NULL && newt >= cuttime)				break;			if (newt <= t)				break;			newtm = *localtime(&newt);			if (delta(&newtm, &tm) != (newt - t) ||				newtm.tm_isdst != tm.tm_isdst ||				strcmp(abbr(&newtm), buf) != 0) {					newt = hunt(argv[i], t, newt);					newtm = *localtime(&newt);					(void) strncpy(buf, abbr(&newtm),						(sizeof buf) - 1);			}			t = newt;			tm = newtm;		}		/*		** Get highest value of t.		*/		t = ~((time_t) 0);		if (t < 0)		/* time_t is signed */			t &= ~hibit;		t -= SECSPERHOUR * HOURSPERDAY;		show(argv[i], t, TRUE);		t += SECSPERHOUR * HOURSPERDAY;		show(argv[i], t, TRUE);	}	if (fflush(stdout) || ferror(stdout)) {		(void) fprintf(stderr, "%s: Error writing standard output ",			argv[0]);		(void) perror("standard output");		(void) exit(EXIT_FAILURE);	}	exit(EXIT_SUCCESS);	/* gcc -Wall pacifier */	for ( ; ; )		continue;}