summaryrefslogtreecommitdiffstats
path: root/misc-utils/cal.c
diff options
context:
space:
mode:
authorRuediger Meier2014-05-27 15:07:05 +0200
committerKarel Zak2014-05-27 16:12:56 +0200
commit07ac4aa9d4f36a6618fd3ab1423bc33e3903ddbd (patch)
treeb509640600445aadca1eca6fd06db42f9c6b5daa /misc-utils/cal.c
parentsfdisk: suppress Linux-irrelevant warnings with -L (diff)
downloadkernel-qcow2-util-linux-07ac4aa9d4f36a6618fd3ab1423bc33e3903ddbd.tar.gz
kernel-qcow2-util-linux-07ac4aa9d4f36a6618fd3ab1423bc33e3903ddbd.tar.xz
kernel-qcow2-util-linux-07ac4aa9d4f36a6618fd3ab1423bc33e3903ddbd.zip
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>
Diffstat (limited to 'misc-utils/cal.c')
-rw-r--r--misc-utils/cal.c50
1 files changed, 30 insertions, 20 deletions
diff --git a/misc-utils/cal.c b/misc-utils/cal.c
index 81375fe19..e763fe140 100644
--- a/misc-utils/cal.c
+++ b/misc-utils/cal.c
@@ -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");
}
/*