summaryrefslogtreecommitdiffstats
path: root/lib/libc/stdio/xprintf_time.c
diff options
context:
space:
mode:
authorwollman <wollman@FreeBSD.org>2009-11-25 04:35:54 +0000
committerwollman <wollman@FreeBSD.org>2009-11-25 04:35:54 +0000
commit0bb16760a11c0384ebde0564be95b7c5711ce69e (patch)
tree00513fdd94aac916df0e6c0489245d8cda7940cb /lib/libc/stdio/xprintf_time.c
parentb15e7bd9790eb41e97bbef83cfa1f1d778e2e7e2 (diff)
downloadFreeBSD-src-0bb16760a11c0384ebde0564be95b7c5711ce69e.zip
FreeBSD-src-0bb16760a11c0384ebde0564be95b7c5711ce69e.tar.gz
Make all three if conditions look similar by always initializing nsec
and moving the default initialization of prec into the else clause. The clang static analyzer erroneously thought that nsec can be used uninitialized here; it was not actually possible, but better to make the code clearer. (Clang can't know that sprintf() won't modify *pi behind the scenes.)
Diffstat (limited to 'lib/libc/stdio/xprintf_time.c')
-rw-r--r--lib/libc/stdio/xprintf_time.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/libc/stdio/xprintf_time.c b/lib/libc/stdio/xprintf_time.c
index 81697f1..9d732fe 100644
--- a/lib/libc/stdio/xprintf_time.c
+++ b/lib/libc/stdio/xprintf_time.c
@@ -64,7 +64,6 @@ __printf_render_time(struct __printf_io *io, const struct printf_info *pi, const
intmax_t t, tx;
int i, prec, nsec;
- prec = 0;
if (pi->is_long) {
tv = *((struct timeval **)arg[0]);
t = tv->tv_sec;
@@ -78,6 +77,8 @@ __printf_render_time(struct __printf_io *io, const struct printf_info *pi, const
} else {
tp = *((time_t **)arg[0]);
t = *tp;
+ nsec = 0;
+ prec = 0;
}
p = buf;
OpenPOWER on IntegriCloud