Fix zpool iostat -T d 1 on musl

When building on Gentoo against musl, GCC complains:

timestamp.c: In function ‘print_timestamp’:
timestamp.c:32:19: warning: passing argument 1 of ‘nl_langinfo’ makes
integer from pointer without a cast
 #define _DATE_FMT "%+"
                   ^
timestamp.c:47:21: note: in expansion of macro ‘_DATE_FMT’
   fmt = nl_langinfo(_DATE_FMT);
                     ^
The error was wrapped to meet comment style requirements.

This code is used by `zpool iostat -T d 1` to print a date and upon
testing it, I see no date printed. Lets use D_T_FMT so that something
gets printed and if D_T_FMT is not avaliable, then we can fall back to
"%+".

Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: loli10K <ezomori.nozomu@gmail.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: George Melikov <mail@gmelikov.ru>
Signed-off-by: Richard Yao <ryao@gentoo.org>
Closes #5993
This commit is contained in:
Richard Yao 2017-04-09 15:00:03 -04:00 committed by Brian Behlendorf
parent bc482ac2ed
commit 281f1fa30a

View File

@ -29,8 +29,12 @@
#include "statcommon.h"
#ifndef _DATE_FMT
#ifdef D_T_FMT
#define _DATE_FMT D_T_FMT
#else /* D_T_FMT */
#define _DATE_FMT "%+"
#endif
#endif /* !D_T_FMT */
#endif /* _DATE_FMT */
/*
* Print timestamp as decimal reprentation of time_t value (-T u was specified)