t_tree *line_to_list(char *str) { t_tree *list; char *ret; int curs; curs = 0; list = NULL; while (str[curs]) { ret = sort_chain(str, &curs); if ((ret == NULL && str[curs]) || (ret != NULL && ret[0] == '\0')) return (NULL); else if (ret == NULL && !str[curs]) return (list); add_elem(&list, ret); ret = take_separ(str, &curs); if (ret == NULL && str[curs]) return (NULL); else if (ret == NULL && !str[curs]) return (list); add_elem(&list, ret); while (str[curs] == ' ' || str[curs] == '\t') curs++; } return (list); }
int calendar_spec_normalize(CalendarSpec *c) { assert(c); if (c->weekdays_bits <= 0 || c->weekdays_bits >= 127) c->weekdays_bits = -1; fix_year(c->year); sort_chain(&c->year); sort_chain(&c->month); sort_chain(&c->day); sort_chain(&c->hour); sort_chain(&c->minute); sort_chain(&c->second); return 0; }