else if ((val = geteaster(start, tp->tm_year + 1900)) != 0)
else if ((val = geteaster(start, tp->tm_year + TM_YEAR_BASE)) != 0)
getfield(p, endp, flags)	char *p, **endp;	int *flags;{	int val, var;	char *start, savech;	for (; !isdigit(*p) && !isalpha(*p) && *p != '*'; ++p)		;	if (*p == '*') {			/* `*' is current month */		*flags |= F_ISMONTH;		*endp = p+1;		return (tp->tm_mon + 1);	}	if (isdigit(*p)) {		val = strtol(p, &p, 10);	/* if 0, it's failure */		for (; !isdigit(*p) && !isalpha(*p) && *p != '*'; ++p)			;		*endp = p;		return (val);	}	for (start = p; isalpha(*++p);)		;	/* Sunday-1 */	if (*p == '+' || *p == '-')	    for(; isdigit(*++p);)		;	savech = *p;	*p = '\0';	/* Month */	if ((val = getmonth(start)) != 0)		*flags |= F_ISMONTH;	/* Day */	else if ((val = getday(start)) != 0) {	    *flags |= F_ISDAY;	    /* variable weekday */	    if ((var = getdayvar(start)) != 0) {		if (var <=5 && var >= -4)		    val += var * 10;#ifdef DEBUG		printf("var: %d\n", var);#endif	    }	}	/* Easter */	else if ((val = geteaster(start, tp->tm_year + 1900)) != 0)	    *flags |= F_EASTER;	/* Paskha */	else if ((val = getpaskha(start, tp->tm_year + 1900)) != 0)	    *flags |= F_EASTER;	/* undefined rest */	else {		*p = savech;		return (0);	}	for (*p = savech; !isdigit(*p) && !isalpha(*p) && *p != '*'; ++p)		;	*endp = p;	return (val);}