Always use "%lld" for formatting time_ts
Given the following test program: #include <time.h> #include <stdio.h> #include <stdint.h> int main() { printf("time_t: %d\n", sizeof(time_t)); printf("long: %d\n", sizeof(long)); printf("long long: %d\n", sizeof(long long)); } These are output on various x86 architectures: x32$ time_t: 8 x32$ long: 4 x32$ long long: 8 amd64$ time_t: 8 amd64$ long: 8 amd64$ long long: 8 i386$ time_t: 4 i386$ long: 4 i386$ long long: 8 Therefore code using "%l[du]" to format time_ts produced warnings on x32 Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Ryan Moeller <ryan@iXsystems.com> Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@gmail.com> Closes #10357 Closes #844
This commit is contained in:
parent
6059f3a1f6
commit
a1ba120927
|
@ -51,7 +51,7 @@ print_timestamp(uint_t timestamp_fmt)
|
||||||
fmt = nl_langinfo(_DATE_FMT);
|
fmt = nl_langinfo(_DATE_FMT);
|
||||||
|
|
||||||
if (timestamp_fmt == UDATE) {
|
if (timestamp_fmt == UDATE) {
|
||||||
(void) printf("%ld\n", t);
|
(void) printf("%lld\n", (longlong_t)t);
|
||||||
} else if (timestamp_fmt == DDATE) {
|
} else if (timestamp_fmt == DDATE) {
|
||||||
char dstr[64];
|
char dstr[64];
|
||||||
int len;
|
int len;
|
||||||
|
|
|
@ -4888,8 +4888,8 @@ zfs_receive_one(libzfs_handle_t *hdl, int infd, const char *tosnap,
|
||||||
zfs_nicebytes(bytes, buf1, sizeof (buf1));
|
zfs_nicebytes(bytes, buf1, sizeof (buf1));
|
||||||
zfs_nicebytes(bytes/delta, buf2, sizeof (buf1));
|
zfs_nicebytes(bytes/delta, buf2, sizeof (buf1));
|
||||||
|
|
||||||
(void) printf("received %s stream in %lu seconds (%s/sec)\n",
|
(void) printf("received %s stream in %lld seconds (%s/sec)\n",
|
||||||
buf1, delta, buf2);
|
buf1, (longlong_t)delta, buf2);
|
||||||
}
|
}
|
||||||
|
|
||||||
err = 0;
|
err = 0;
|
||||||
|
|
Loading…
Reference in New Issue