int calendar_spec_normalize(CalendarSpec *c) { assert(c); if (streq_ptr(c->timezone, "UTC")) { c->utc = true; c->timezone = mfree(c->timezone); } if (c->weekdays_bits <= 0 || c->weekdays_bits >= BITS_WEEKDAYS) c->weekdays_bits = -1; if (c->end_of_month && !c->day) c->end_of_month = false; fix_year(c->year); normalize_chain(&c->year); normalize_chain(&c->month); normalize_chain(&c->day); normalize_chain(&c->hour); normalize_chain(&c->minute); normalize_chain(&c->microsecond); return 0; }
int calendar_spec_normalize(CalendarSpec *c) { assert(c); if (c->weekdays_bits <= 0 || c->weekdays_bits >= BITS_WEEKDAYS) c->weekdays_bits = -1; if (c->end_of_month && !c->day) c->end_of_month = false; fix_year(c->year); normalize_chain(&c->year); normalize_chain(&c->month); normalize_chain(&c->day); normalize_chain(&c->hour); normalize_chain(&c->minute); normalize_chain(&c->microsecond); return 0; }