cal: all output must use my_putstring
Replace all puts, fputs and printf calls by my_putstring() because we don't want to mix different output channels (buffers). Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
This commit is contained in:
parent
ee6369973e
commit
07ac4aa9d4
|
@ -609,7 +609,7 @@ static void cal_output_header(struct cal_month *month, const struct cal_control
|
|||
center(out, ctl->week_width - 1, i->next == NULL ? 0 : ctl->gutter_width);
|
||||
}
|
||||
if (!ctl->yflag) {
|
||||
fputs("\n", stdout);
|
||||
my_putstring("\n");
|
||||
for (i = month; i; i = i->next) {
|
||||
sprintf(out, _("%d"), i->year);
|
||||
center(out, ctl->week_width - 1, i->next == NULL ? 0 : ctl->gutter_width);
|
||||
|
@ -621,23 +621,27 @@ static void cal_output_header(struct cal_month *month, const struct cal_control
|
|||
center(out, ctl->week_width - 1, i->next == NULL ? 0 : ctl->gutter_width);
|
||||
}
|
||||
}
|
||||
puts("");
|
||||
my_putstring("\n");
|
||||
for (i = month; i; i = i->next) {
|
||||
if (ctl->weektype) {
|
||||
if (ctl->julian)
|
||||
printf("%*s%s", (int)ctl->day_width - 1, "", day_headings);
|
||||
sprintf(out, "%*s%s", (int)ctl->day_width - 1, "", day_headings);
|
||||
else
|
||||
printf("%*s%s", (int)ctl->day_width, "", day_headings);
|
||||
sprintf(out, "%*s%s", (int)ctl->day_width, "", day_headings);
|
||||
my_putstring(out);
|
||||
} else
|
||||
fputs(day_headings, stdout);
|
||||
if (i->next != NULL)
|
||||
printf("%*s", ctl->gutter_width, "");
|
||||
my_putstring(day_headings);
|
||||
if (i->next != NULL) {
|
||||
sprintf(out, "%*s", ctl->gutter_width, "");
|
||||
my_putstring(out);
|
||||
}
|
||||
}
|
||||
puts("");
|
||||
my_putstring("\n");
|
||||
}
|
||||
|
||||
static void cal_output_months(struct cal_month *month, const struct cal_control *ctl)
|
||||
{
|
||||
char out[FMT_ST_CHARS];
|
||||
int reqday, week_line, d;
|
||||
int skip;
|
||||
struct cal_month *i;
|
||||
|
@ -659,12 +663,13 @@ static void cal_output_months(struct cal_month *month, const struct cal_control
|
|||
if (0 < i->weeks[week_line]) {
|
||||
if ((ctl->weektype & WEEK_NUM_MASK) ==
|
||||
i->weeks[week_line])
|
||||
printf("%s%2d%s", Senter, i->weeks[week_line],
|
||||
sprintf(out, "%s%2d%s", Senter, i->weeks[week_line],
|
||||
Sexit);
|
||||
else
|
||||
printf("%2d", i->weeks[week_line]);
|
||||
sprintf(out, "%2d", i->weeks[week_line]);
|
||||
} else
|
||||
printf("%2s", "");
|
||||
sprintf(out, "%2s", "");
|
||||
my_putstring(out);
|
||||
skip = ctl->day_width;
|
||||
} else
|
||||
/* First day of the week is one char narrower than the other days,
|
||||
|
@ -675,21 +680,26 @@ static void cal_output_months(struct cal_month *month, const struct cal_control
|
|||
d < DAYS_IN_WEEK * week_line + DAYS_IN_WEEK; d++) {
|
||||
if (0 < i->days[d]) {
|
||||
if (reqday == i->days[d])
|
||||
printf("%*s%s%*d%s", skip - (ctl->julian ? 3 : 2),
|
||||
sprintf(out, "%*s%s%*d%s", skip - (ctl->julian ? 3 : 2),
|
||||
"", Senter, (ctl->julian ? 3 : 2),
|
||||
i->days[d], Sexit);
|
||||
else
|
||||
printf("%*d", skip, i->days[d]);
|
||||
sprintf(out, "%*d", skip, i->days[d]);
|
||||
} else
|
||||
printf("%*s", skip, "");
|
||||
sprintf(out, "%*s", skip, "");
|
||||
my_putstring(out);
|
||||
if (skip < (int)ctl->day_width)
|
||||
skip++;
|
||||
}
|
||||
if (i->next != NULL)
|
||||
printf("%*s", ctl->gutter_width, "");
|
||||
if (i->next != NULL) {
|
||||
sprintf(out, "%*s", ctl->gutter_width, "");
|
||||
my_putstring(out);
|
||||
}
|
||||
}
|
||||
if (i == NULL) {
|
||||
sprintf(out, "%*s\n", ctl->gutter_width - (ctl->yflag ? 0 : 1), "");
|
||||
my_putstring(out);
|
||||
}
|
||||
if (i == NULL)
|
||||
printf("%*s\n", ctl->gutter_width - (ctl->yflag ? 0 : 1), "");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -754,7 +764,7 @@ static void yearly(const struct cal_control *ctl)
|
|||
year_width--;
|
||||
sprintf(out, "%d", ctl->req.year);
|
||||
center(out, year_width, 0);
|
||||
fputs("\n\n", stdout);
|
||||
my_putstring("\n\n");
|
||||
|
||||
for (month = 1; month < MONTHS_IN_YEAR; month += ctl->julian ? 2 : 3) {
|
||||
set_consecutive_months(&m1, month, ctl->req.year);
|
||||
|
@ -764,7 +774,7 @@ static void yearly(const struct cal_control *ctl)
|
|||
cal_output_months(&m1, ctl);
|
||||
}
|
||||
/* Is empty line at the end year output really needed? */
|
||||
puts("");
|
||||
my_putstring("\n");
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue