year = local_time->tm_year + 1900;
year = local_time->tm_year + TM_YEAR_BASE;
main(argc, argv)	int argc;	char **argv;{	struct tm *local_time;	time_t now;	int ch, month, year, yflag;	yflag = 0;	while ((ch = getopt(argc, argv, "jy")) != -1)		switch(ch) {		case 'j':			julian = 1;			break;		case 'y':			yflag = 1;			break;		case '?':		default:			usage();		}	argc -= optind;	argv += optind;	month = 0;	switch(argc) {	case 2:		if ((month = atoi(*argv++)) < 1 || month > 12)			errx(1, "illegal month value: use 1-12");		/* FALLTHROUGH */	case 1:		if ((year = atoi(*argv)) < 1 || year > 9999)			errx(1, "illegal year value: use 1-9999");		break;	case 0:		(void)time(&now);		local_time = localtime(&now);		year = local_time->tm_year + 1900;		if (!yflag)			month = local_time->tm_mon + 1;		break;	default:		usage();	}	if (month)		monthly(month, year);	else if (julian)		j_yearly(year);	else		yearly(year);	exit(0);}