• Home
  • Raw
  • Download

Lines Matching refs:rp

167 static zic_t	rpytime(const struct rule * rp, int wantedy);
168 static void rulesub(struct rule * rp,
173 static int stringrule(char * result, const struct rule * rp,
866 register struct rule * rp; in associate() local
905 rp = &rules[base]; in associate()
907 if (strcmp(rp->r_name, rules[out].r_name) != 0) in associate()
911 if (strcmp(zp->z_rule, rp->r_name) != 0) in associate()
913 zp->z_rules = rp; in associate()
1387 rulesub(rp, loyearp, hiyearp, typep, monthp, dayp, timep) in rulesub() argument
1388 register struct rule * const rp; in rulesub()
1405 rp->r_month = lp->l_value;
1406 rp->r_todisstd = FALSE;
1407 rp->r_todisgmt = FALSE;
1413 rp->r_todisstd = TRUE;
1414 rp->r_todisgmt = FALSE;
1418 rp->r_todisstd = FALSE;
1419 rp->r_todisgmt = FALSE;
1425 rp->r_todisstd = TRUE;
1426 rp->r_todisgmt = TRUE;
1431 rp->r_tod = gethms(dp, _("invalid time of day"), FALSE);
1438 rp->r_lowasnum = lp == NULL;
1439 if (!rp->r_lowasnum) switch ((int) lp->l_value) {
1441 rp->r_loyear = INT_MIN;
1444 rp->r_loyear = INT_MAX;
1451 } else if (sscanf(cp, scheck(cp, "%d"), &rp->r_loyear) != 1) {
1457 rp->r_hiwasnum = lp == NULL;
1458 if (!rp->r_hiwasnum) switch ((int) lp->l_value) {
1460 rp->r_hiyear = INT_MIN;
1463 rp->r_hiyear = INT_MAX;
1466 rp->r_hiyear = rp->r_loyear;
1473 } else if (sscanf(cp, scheck(cp, "%d"), &rp->r_hiyear) != 1) {
1477 if (rp->r_loyear > rp->r_hiyear) {
1482 rp->r_yrtype = NULL;
1484 if (rp->r_loyear == rp->r_hiyear) {
1488 rp->r_yrtype = ecpyalloc(typep);
1500 rp->r_dycode = DC_DOWLEQ;
1501 rp->r_wday = lp->l_value;
1502 rp->r_dayofmonth = len_months[1][rp->r_month];
1505 rp->r_dycode = DC_DOWLEQ;
1507 rp->r_dycode = DC_DOWGEQ;
1510 rp->r_dycode = DC_DOM;
1512 if (rp->r_dycode != DC_DOM) {
1524 rp->r_wday = lp->l_value;
1526 if (sscanf(ep, scheck(ep, "%d"), &rp->r_dayofmonth) != 1 ||
1527 rp->r_dayofmonth <= 0 ||
1528 (rp->r_dayofmonth > len_months[1][rp->r_month])) {
1958 stringrule(result, rp, dstoff, gmtoff) in stringrule() argument
1960 const struct rule * const rp;
1967 if (rp->r_dycode == DC_DOM) {
1970 if (rp->r_dayofmonth == 29 && rp->r_month == TM_FEBRUARY)
1973 for (month = 0; month < rp->r_month; ++month)
1975 (void) sprintf(result, "J%d", total + rp->r_dayofmonth);
1979 if (rp->r_dycode == DC_DOWGEQ) {
1980 week = 1 + rp->r_dayofmonth / DAYSPERWEEK;
1981 if ((week - 1) * DAYSPERWEEK + 1 != rp->r_dayofmonth)
1983 } else if (rp->r_dycode == DC_DOWLEQ) {
1984 if (rp->r_dayofmonth == len_months[1][rp->r_month])
1987 week = 1 + rp->r_dayofmonth / DAYSPERWEEK;
1988 if (week * DAYSPERWEEK - 1 != rp->r_dayofmonth)
1993 rp->r_month + 1, week, rp->r_wday);
1995 tod = rp->r_tod;
1996 if (rp->r_todisgmt)
1998 if (rp->r_todisstd && rp->r_stdoff == 0)
2019 register struct rule * rp; local
2029 rp = &zp->z_rules[i];
2030 if (rp->r_hiwasnum || rp->r_hiyear != INT_MAX)
2032 if (rp->r_yrtype != NULL)
2034 if (rp->r_stdoff == 0) {
2036 stdrp = rp;
2040 dstrp = rp;
2050 rp = &zp->z_rules[i];
2051 if (stdrp == NULL || rp->r_hiyear > stdrp->r_hiyear ||
2052 (rp->r_hiyear == stdrp->r_hiyear &&
2053 rp->r_month > stdrp->r_month))
2054 stdrp = rp;
2101 register struct rule * rp; local
2152 rp = &zp->z_rules[j];
2153 if (rp->r_lowasnum)
2154 updateminmax(rp->r_loyear);
2155 if (rp->r_hiwasnum)
2156 updateminmax(rp->r_hiyear);
2210 rp = &zp->z_rules[j];
2211 if (rp->r_hiyear == INT_MAX) {
2213 finalRule1 = rp;
2214 finalRuleYear = rp->r_loyear;
2216 finalRule2 = rp;
2217 if (rp->r_loyear > finalRuleYear) {
2218 finalRuleYear = rp->r_loyear;
2275 rp = &zp->z_rules[j];
2277 rp->r_filename, rp->r_linenum);
2278 rp->r_todo = year >= rp->r_loyear &&
2279 year <= rp->r_hiyear &&
2280 yearistype(year, rp->r_yrtype);
2281 if (rp->r_todo)
2282 rp->r_temp = rpytime(rp, year);
2310 rp = &zp->z_rules[j];
2311 if (!rp->r_todo)
2314 rp->r_filename, rp->r_linenum);
2315 offset = rp->r_todisgmt ? 0 : gmtoff;
2316 if (!rp->r_todisstd)
2318 jtime = rp->r_temp;
2330 rp = &zp->z_rules[k];
2331 rp->r_todo = FALSE;
2334 stdoff = rp->r_stdoff;
2342 rp->r_abbrvar,
2343 rp->r_stdoff != 0,
2352 rp->r_abbrvar,
2353 rp->r_stdoff !=
2359 if (year >= finalRuleYear && rp == finalRule1) {
2378 rp, finalRuleIndex, year + 1);
2384 rp->r_filename, rp->r_linenum);
2385 doabbr(ab, zp->z_format, rp->r_abbrvar,
2386 rp->r_stdoff != 0, FALSE);
2387 offset = oadd(zp->z_gmtoff, rp->r_stdoff);
2389 type = addtype(offset, zp->z_gmtoff, rp->r_stdoff,
2390 ab, rp->r_stdoff != 0,
2391 rp->r_todisstd, rp->r_todisgmt);
2393 type = addtype(offset, ab, rp->r_stdoff != 0,
2394 rp->r_todisstd, rp->r_todisgmt);
2779 rpytime(rp, wantedy) in rpytime() argument
2780 register const struct rule * const rp; in rpytime()
2804 while (m != rp->r_month) {
2809 i = rp->r_dayofmonth;
2811 if (rp->r_dycode == DC_DOWLEQ)
2820 if (rp->r_dycode == DC_DOWGEQ || rp->r_dycode == DC_DOWLEQ) {
2835 while (wday != eitol(rp->r_wday))
2836 if (rp->r_dycode == DC_DOWGEQ) {
2858 return tadd(t, rp->r_tod);