[PATCH] xfsprogs: fix various incorrect printf formats

Jakub Bogusz qboosh at pld-linux.org
Tue Oct 25 10:59:16 CDT 2011


On Tue, Oct 25, 2011 at 07:52:33AM -0400, Christoph Hellwig wrote:
> Reported-by: Jakub Bogusz <qboosh at pld-linux.org>
> Signed-off-by: Christoph Hellwig <hch at lst.de>
[...]
> Index: xfsprogs/repair/scan.c
> ===================================================================
> --- xfsprogs.orig/repair/scan.c	2011-10-25 13:46:56.562602076 +0200
> +++ xfsprogs/repair/scan.c	2011-10-25 13:47:31.369102715 +0200
> @@ -289,14 +289,14 @@ _("bad back (left) sibling pointer (saw
>  			 */
>  			set_bmap(agno, agbno, XR_E_MULT);
>  			do_warn(
> -_("inode 0x%" PRIu64 "bmap block 0x%" PRIu64 " claimed, state is %d\n"),
> +_("inode 0x%" PRIu64 "bmap block %" PRIx64 " claimed, state is %d\n"),
>  				ino, bno, state);
>  			break;
>  		case XR_E_MULT:
>  		case XR_E_INUSE_FS:
>  			set_bmap(agno, agbno, XR_E_MULT);
>  			do_warn(
> -_("inode 0x%" PRIu64 " bmap block 0x%" PRIu64 " claimed, state is %d\n"),
> +_("inode 0x%" PRIu64 " bmap block %" PRIx64 " claimed, state is %d\n"),
>  				ino, bno, state);
>  			/*
>  			 * if we made it to here, this is probably a bmap block
> @@ -311,7 +311,7 @@ _("inode 0x%" PRIu64 " bmap block 0x%" P
>  		case XR_E_BAD_STATE:
>  		default:
>  			do_warn(
> -_("bad state %d, inode 0x%" PRIu64 " bmap block 0x%" PRIu64 "\n"),
> +_("bad state %d, inode 0x%" PRIu64 " bmap block %" PRIx64 "\n"),
>  				state, ino, bno);
>  			break;
>  		}
> @@ -338,7 +338,7 @@ _("bad state %d, inode 0x%" PRIu64 " bma
>  		if (numrecs > mp->m_bmap_dmxr[0] || (isroot == 0 && numrecs <
>  							mp->m_bmap_dmnr[0])) {
>  				do_warn(
> -_("inode 0x%" PRIu64 " bad # of bmap records (%u, min - %u, max - %u)\n"),
> +_("inode %" PRIx64 " bad # of bmap records (%u, min - %u, max - %u)\n"),
>  					ino, numrecs, mp->m_bmap_dmnr[0],
>  					mp->m_bmap_dmxr[0]);
>  			return(1);

Erm... the above part of changes is inconsistent.

PRIxnn itself doesn't append "0x" - so either remove "0x" prefix and
keep PRIu64 (thus printing value in decimal) _or_ (xor in terms of
computer logic ;)) keep "0x" prefix and use PRIx64 (thus printing value
in hex).
I'd use decimal at least for inodes (in other places they are printed in
such way).

Also please note that in first 3 messages there were two uses
"0x"+PRIu64...


Regards,

-- 
Jakub Bogusz    http://qboosh.pl/




More information about the xfs mailing list