Lines Matching refs:rule
82 static void getrule(const char **p, int rule[5])
84 int r = rule[0] = **p;
88 else rule[0] = 0;
89 rule[1] = getint(p);
91 ++*p; rule[1] = getint(p);
92 ++*p; rule[2] = getint(p);
93 ++*p; rule[3] = getint(p);
98 rule[4] = getoff(p);
100 rule[4] = 7200;
420 * and determine alternate opposite-DST-status rule that may be needed. */
435 /* Binary search for 'most-recent rule before t'. */
451 * non-DST type. Last means to apply POSIX-style rule if available. */
472 /* Try to find a neighboring opposite-DST-status rule. */
491 /* Convert a POSIX DST rule plus year to seconds since epoch. */
493 static long long rule_to_secs(const int *rule, int year)
498 if (rule[0]!='M') {
499 x = rule[1];
500 if (rule[0]=='J' && (x < 60 || !is_leap)) x--;
503 m = rule[1];
504 n = rule[2];
505 d = rule[3];
513 t += rule[4];
520 * the GMT offset for the active zone/DST rule and the opposite DST. This