MCPcopy Create free account
hub / github.com/eggert/tz / inzone

Function inzone

zic.c:2168–2198  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2166 }
2167 switch (*fields[RF_NAME]) {
2168 case '\0':
2169 case ' ': case '\f': case '\n': case '\r': case '\t': case '\v':
2170 case '+': case '-':
2171 case '0': case '1': case '2': case '3': case '4':
2172 case '5': case '6': case '7': case '8': case '9':
2173 error(N_("Invalid rule name \"%s\""), fields[RF_NAME]);
2174 return;
2175 }
2176 r.r_filenum = filenum;
2177 r.r_linenum = linenum;
2178 r.r_save = getsave(fields[RF_SAVE], &r.r_isdst);
2179 if (!rulesub(&r, fields[RF_LOYEAR], fields[RF_HIYEAR],
2180 fields[RF_COMMAND], fields[RF_MONTH], fields[RF_DAY],
2181 fields[RF_TOD]))
2182 return;
2183 r.r_name = xstrdup(fields[RF_NAME]);
2184 r.r_abbrvar = xstrdup(fields[RF_ABBRVAR]);
2185 if (max_abbrvar_len < strlen(r.r_abbrvar))
2186 max_abbrvar_len = strlen(r.r_abbrvar);
2187 rules = growalloc(rules, sizeof *rules, nrules, &nrules_alloc);
2188 rules[nrules++] = r;
2189}
2190
2191static bool
2192inzone(char **fields, int nfields)
2193{
2194 register ptrdiff_t i;
2195
2196 if (nfields < ZONE_MINFIELDS || nfields > ZONE_MAXFIELDS) {
2197 error(N_("wrong number of fields on Zone line"));
2198 return false;
2199 }
2200 if (lcltime != NULL && strcmp(fields[ZF_NAME], tzdefault) == 0) {
2201 error(N_("\"Zone %s\" line and -l option are mutually exclusive"),

Callers 1

infileFunction · 0.85

Calls 3

errorFunction · 0.85
filenameFunction · 0.85
inzsubFunction · 0.85

Tested by

no test coverage detected