extern void print_day_range(Calendar *c, Tick start_tick, Tick end_tick) { int n; register Tick first_date = start_tick; Boolean done = False, first = True; int num_page = 1; Props *pr = (Props*)c->properties; void *xp = (void *)NULL; n = (end_tick - start_tick)/daysec + 1; if (n <= 0) n = 1; if ((xp = x_open_file(c)) == (void *)NULL) return; for (; n > 0; n--) { while (!done) { done = _print_day(c, num_page, xp, first_date, pr, first); num_page++; first = False; } done = False; num_page = 1; } x_print_file(xp, c); }
extern void print_week_range(Calendar * c, Tick start_tick, Tick end_tick) { Props *p = (Props *)c->properties; register Tick first_date = start_tick; int num_weeks; Boolean done = False, first = True; int num_page = 1; void *xp = (void *)NULL; /* get number of weeks needed to print */ num_weeks = ((end_tick - start_tick)/wksec) + 1; if (num_weeks <= 0) num_weeks = 1; first_date = first_dow(first_date); if (!timeok(first_date)) first_date = get_bot(); if ((xp = x_open_file(c)) == (void *)NULL) return; for (; num_weeks > 0; num_weeks--) { while (!done) { done = print_week(c, num_page, xp, first_date, p, first); num_page++; first = False; } done = False; num_page = 1; } x_print_file(xp, c); }