mremap_f can't turn a long long into a pointer, and
dump_dirent needs proper %llx for u64 printing.
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
switch (c) {
case 'f':
flags = MREMAP_FIXED|MREMAP_MAYMOVE;
- new_addr = (void *)cvtnum(blocksize, sectsize,
- optarg);
+ new_addr = (void *)(unsigned long)cvtnum(blocksize,
+ sectsize, optarg);
break;
case 'm':
flags = MREMAP_MAYMOVE;
long long offset,
struct dirent *dirent)
{
- printf("%08llx: d_ino: 0x%08lx", offset, dirent->d_ino);
+ printf("%08llx: d_ino: 0x%08llx", offset,
+ (unsigned long long)dirent->d_ino);
#ifdef _DIRENT_HAVE_D_OFF
- printf(" d_off: 0x%08lx", dirent->d_off);
+ printf(" d_off: 0x%08llx", (unsigned long long)dirent->d_off);
#endif
#ifdef _DIRENT_HAVE_D_RECLEN
printf(" d_reclen: 0x%x", dirent->d_reclen);