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:
Ruediger Meier 2014-05-27 15:07:05 +02:00 committed by Karel Zak
parent ee6369973e
commit 07ac4aa9d4
1 changed files with 30 additions and 20 deletions

View File

@ -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");
}
/*