diff options
-rw-r--r-- | src/stat.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/stat.c b/src/stat.c index 08fed6df3..6de5e15c3 100644 --- a/src/stat.c +++ b/src/stat.c @@ -424,7 +424,10 @@ print_statfs (char *pformat, size_t prefix_len, char m, char const *filename, int words = sizeof statfsbuf->f_fsid / sizeof *p; int i; for (i = 0; i < words && i * sizeof *p < sizeof fsid; i++) - fsid |= p[words - 1 - i] << (i * CHAR_BIT * sizeof *p); + { + uintmax_t u = p[words - 1 - i]; + fsid |= u << (i * CHAR_BIT * sizeof *p); + } #endif out_uint_x (pformat, prefix_len, fsid); } |