Home | History | Annotate | Download | only in tzcode

Lines Matching refs:rp

170 static zic_t	rpytime(const struct rule * rp, zic_t wantedy);
171 static void rulesub(struct rule * rp,
901 register struct rule * rp;
939 rp = &rules[base];
941 if (strcmp(rp->r_name, rules[out].r_name) != 0)
945 if (strcmp(zp->z_rule, rp->r_name) != 0)
947 zp->z_rules = rp;
1393 rulesub(register struct rule *const rp,
1410 rp->r_month = lp->l_value;
1411 rp->r_todisstd = FALSE;
1412 rp->r_todisgmt = FALSE;
1418 rp->r_todisstd = TRUE;
1419 rp->r_todisgmt = FALSE;
1423 rp->r_todisstd = FALSE;
1424 rp->r_todisgmt = FALSE;
1430 rp->r_todisstd = TRUE;
1431 rp->r_todisgmt = TRUE;
1436 rp->r_tod = gethms(dp, _("invalid time of day"), FALSE);
1443 rp->r_lowasnum = lp == NULL;
1444 if (!rp->r_lowasnum) switch ((int) lp->l_value) {
1446 rp->r_loyear = ZIC_MIN;
1449 rp->r_loyear = ZIC_MAX;
1456 } else if (sscanf(cp, scheck(cp, "%"SCNdZIC), &rp->r_loyear) != 1) {
1462 rp->r_hiwasnum = lp == NULL;
1463 if (!rp->r_hiwasnum) switch ((int) lp->l_value) {
1465 rp->r_hiyear = ZIC_MIN;
1468 rp->r_hiyear = ZIC_MAX;
1471 rp->r_hiyear = rp->r_loyear;
1478 } else if (sscanf(cp, scheck(cp, "%"SCNdZIC), &rp->r_hiyear) != 1) {
1482 if (rp->r_loyear > rp->r_hiyear) {
1487 rp->r_yrtype = NULL;
1489 if (rp->r_loyear == rp->r_hiyear) {
1493 rp->r_yrtype = ecpyalloc(typep);
1505 rp->r_dycode = DC_DOWLEQ;
1506 rp->r_wday = lp->l_value;
1507 rp->r_dayofmonth = len_months[1][rp->r_month];
1510 rp->r_dycode = DC_DOWLEQ;
1512 rp->r_dycode = DC_DOWGEQ;
1515 rp->r_dycode = DC_DOM;
1517 if (rp->r_dycode != DC_DOM) {
1529 rp->r_wday = lp->l_value;
1531 if (sscanf(ep, scheck(ep, "%d"), &rp->r_dayofmonth) != 1 ||
1532 rp->r_dayofmonth <= 0 ||
1533 (rp->r_dayofmonth > len_months[1][rp->r_month])) {
2021 stringrule(char *result, const struct rule *const rp, const zic_t dstoff,
2024 register zic_t tod = rp->r_tod;
2028 if (rp
2031 if (rp->r_dayofmonth == 29 && rp->r_month == TM_FEBRUARY)
2034 for (month = 0; month < rp->r_month; ++month)
2037 if (rp->r_month <= 1)
2038 (void) sprintf(result, "%d", total + rp->r_dayofmonth - 1);
2040 (void) sprintf(result, "J%d", total + rp->r_dayofmonth);
2043 register int wday = rp->r_wday;
2046 if (rp->r_dycode == DC_DOWGEQ) {
2047 wdayoff = (rp->r_dayofmonth - 1) % DAYSPERWEEK;
2052 week = 1 + (rp->r_dayofmonth - 1) / DAYSPERWEEK;
2053 } else if (rp->r_dycode == DC_DOWLEQ) {
2054 if (rp->r_dayofmonth == len_months[1][rp->r_month])
2057 wdayoff = rp->r_dayofmonth % DAYSPERWEEK;
2062 week = rp->r_dayofmonth / DAYSPERWEEK;
2068 rp->r_month + 1, week, wday);
2070 if (rp->r_todisgmt)
2072 if (rp->r_todisstd && rp->r_stdoff == 0)
2109 register struct rule * rp;
2122 rp = &zp->z_rules[i];
2123 if (rp->r_hiwasnum || rp->r_hiyear != ZIC_MAX)
2125 if (rp->r_yrtype != NULL)
2127 if (rp->r_stdoff == 0) {
2129 stdrp = rp;
2133 dstrp = rp;
2145 rp = &zp->z_rules[i];
2146 if (rp->r_stdoff == 0 && rule_cmp(stdabbrrp, rp) < 0)
2147 stdabbrrp = rp;
2148 if (rule_cmp(stdrp, rp) < 0)
2149 stdrp = rp;
2220 register struct rule * rp;
2281 rp = &zp->z_rules[j];
2282 if (rp->r_lowasnum)
2283 updateminmax(rp->r_loyear);
2284 if (rp->r_hiwasnum)
2285 updateminmax(rp->r_hiyear);
2286 if (rp->r_lowasnum || rp->r_hiwasnum)
2376 rp = &zp->z_rules[j];
2377 if (rp->r_hiyear == ZIC_MAX) {
2378 if (rp->r_loyear > finalRuleYear) {
2379 finalRuleYear = rp->r_loyear;
2382 finalRule1 = rp;
2384 finalRule2 = rp;
2389 } else if (rp->r_hiyear >= finalRuleYear) {
2399 finalRuleYear = rp->r_hiyear + 1;
2474 ** For those to do, calculate rpytime(rp, year);
2477 rp = &zp->z_rules[j];
2479 rp->r_filename, rp->r_linenum);
2480 rp->r_todo = year >= rp->r_loyear &&
2481 year <= rp->r_hiyear &&
2482 yearistype(year, rp->r_yrtype);
2483 if (rp->r_todo)
2484 rp->r_temp = rpytime(rp, year);
2512 rp = &zp->z_rules[j];
2513 if (!rp->r_todo)
2516 rp->r_filename, rp->r_linenum);
2517 offset = rp->r_todisgmt ? 0 : gmtoff;
2518 if (!rp->r_todisstd)
2520 jtime = rp->r_temp;
2532 rp = &zp->z_rules[k];
2533 rp->r_todo = FALSE;
2536 stdoff = rp->r_stdoff;
2544 rp->r_abbrvar,
2545 rp->r_stdoff != 0,
2554 rp->r_abbrvar,
2555 rp->r_stdoff !=
2561 if (year >= finalRuleYear && rp == finalRule1) {
2576 rp, finalRuleIndex, year + 1);
2582 rp->r_filename, rp->r_linenum);
2583 doabbr(ab, zp->z_format, rp->r_abbrvar,
2584 rp->r_stdoff != 0, FALSE);
2585 offset = oadd(zp->z_gmtoff, rp->r_stdoff);
2587 type = addtype(offset, zp->z_gmtoff, rp->r_stdoff,
2588 ab, rp->r_stdoff != 0,
2589 rp->r_todisstd, rp->r_todisgmt);
2591 type = addtype(offset, ab, rp->r_stdoff != 0,
2592 rp->r_todisstd, rp->r_todisgmt);
2981 rpytime(register const struct rule *const rp, register const zic_t wantedy)
3004 while (m != rp->r_month) {
3009 i = rp->r_dayofmonth;
3011 if (rp->r_dycode == DC_DOWLEQ)
3020 if (rp->r_dycode == DC_DOWGEQ || rp->r_dycode == DC_DOWLEQ) {
3035 while (wday != rp->r_wday)
3036 if (rp->r_dycode == DC_DOWGEQ) {
3058 return tadd(t, rp->r_tod);