Remove spurious "union arg" from printf.h

Make sure to always print something in the alternate time format.
This commit is contained in:
Poul-Henning Kamp 2006-02-04 14:35:01 +00:00
parent c62ccf20b2
commit 8dcefe6112
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=155300
2 changed files with 3 additions and 4 deletions

View File

@ -29,8 +29,6 @@
#ifndef _PRINTF_H_
#define _PRINTF_H_
union arg;
/*
* The API defined by glibc allows a renderer to take multiple arguments
* This is obviously usable for things like (ptr+len) pairs etc.

View File

@ -61,7 +61,7 @@ __printf_render_time(struct __printf_io *io, const struct printf_info *pi, const
struct timeval *tv;
struct timespec *ts;
time_t *tp;
intmax_t t;
intmax_t t, tx;
int i, prec, nsec;
prec = 0;
@ -82,6 +82,7 @@ __printf_render_time(struct __printf_io *io, const struct printf_info *pi, const
p = buf;
if (pi->alt) {
tx = t;
if (t >= YEAR) {
p += sprintf(p, "%jdy", t / YEAR);
t %= YEAR;
@ -98,7 +99,7 @@ __printf_render_time(struct __printf_io *io, const struct printf_info *pi, const
p += sprintf(p, "%jdm", t / MINUTE);
t %= MINUTE;
}
if (t != 0)
if (t != 0 || tx == 0)
p += sprintf(p, "%jds", t);
} else {
p += sprintf(p, "%jd", (intmax_t)t);