Do all calculations using uintmax_t. Include <inttypes.h> if available. (adjust_blocks, CONVERT_BLOCKS): Remove. (get_fs_usage): Set new member fsu_blocksize, and do not convert numbers to 512-byte block units; this avoids overflow here. Cast lseek arg to off_t, not long.