コード例 #1
0
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);
}
コード例 #2
0
ファイル: weekglance.c プロジェクト: juddy/edcde
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);
}