Date: Wed, 3 Mar 2010 16:14:35 -0800 From: Garrett Cooper <yanefbsd@gmail.com> To: Max Laier <max@love2party.net> Cc: "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "src-committers@freebsd.org" <src-committers@freebsd.org>, Warner Losh <imp@freebsd.org> Subject: Re: svn commit: r204672 - head/sbin/newfs Message-ID: <38B3C45B-B617-413F-868C-A25E3651CA59@gmail.com> In-Reply-To: <201003040036.25583.max@love2party.net> References: <F80AA765-5CD7-4E69-8EF9-5A3E44853B35@gmail.com> <201003040036.25583.max@love2party.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mar 3, 2010, at 3:36 PM, Max Laier <max@love2party.net> wrote: > On Thursday 04 March 2010 00:25:53 Garrett Cooper wrote: >> On Mar 3, 2010, at 1:53 PM, Warner Losh <imp@FreeBSD.org> wrote: >>> Author: imp >>> Date: Wed Mar 3 21:53:25 2010 >>> New Revision: 204672 >>> URL: http://svn.freebsd.org/changeset/base/204672 >>> >>> Log: >>> Cast these to intmax_t before printing to fix build bustage. Better >>> solutions welcome. >>> >>> Modified: >>> head/sbin/newfs/mkfs.c >>> >>> Modified: head/sbin/newfs/mkfs.c >>> === >>> === >>> === >>> === >>> ================================================================== >>> --- head/sbin/newfs/mkfs.c Wed Mar 3 21:47:25 2010 (r204671) >>> +++ head/sbin/newfs/mkfs.c Wed Mar 3 21:53:25 2010 (r204672) >>> @@ -191,8 +191,8 @@ restart: >>> exit(17); >>> } >>> if (sblock.fs_fsize < sectorsize) { >>> - printf("increasing fragment size from %d to sector size >>> (%d) >>> \n", >>> - sblock.fs_fsize, sectorsize); >>> + printf("increasing fragment size from %d to sector size >>> (%jd)\n", >>> + sblock.fs_fsize, (intmax_t)sectorsize); >>> sblock.fs_fsize = sectorsize; >>> } >>> if (sblock.fs_bsize > MAXBSIZE) { >>> @@ -337,8 +337,8 @@ restart: >>> } else if (density < minfragsperinode * fsize) { >>> origdensity = density; >>> density = minfragsperinode * fsize; >>> - fprintf(stderr, "density increased from %d to %d\n", >>> - origdensity, density); >>> + fprintf(stderr, "density increased from %d to %jd\n", >>> + origdensity, (intmax_t)density); >>> } >>> origdensity = density; >>> for (;;) { >>> @@ -346,8 +346,9 @@ restart: >>> if (fragsperinode < minfragsperinode) { >>> bsize <<= 1; >>> fsize <<= 1; >>> - printf("Block size too small for a file system %s %d >>> \n", >>> - "of this size. Increasing blocksize to", bsize); >>> + printf("Block size too small for a file system %s %jd >>> \n", >>> + "of this size. Increasing blocksize to", >>> + (intmax_t)bsize); >>> goto restart; >>> } >>> minfpg = fragsperinode * INOPB(&sblock); >>> @@ -371,7 +372,8 @@ restart: >>> density -= sblock.fs_fsize; >>> } >>> if (density != origdensity) >>> - printf("density reduced from %d to %d\n", origdensity, >>> density); >>> + printf("density reduced from %d to %jd\n", origdensity, >>> + (intmax_t)density); >>> /* >>> * Start packing more blocks into the cylinder group until >>> * it cannot grow any larger, the number of cylinder groups >> >> Use PRId64 from inttypes.h ? > > you just forgot to type ";)" there, didn't you? Eh, not really my intent TBH (although I guess my answer was pretty cheeky looking back). > How are the PRI* macros > better than an intmax_t cast? In my opinion, the intmax_t cast and > %j is the > best, realistic solution for this. I have partitioned in the past > that we > change int64 types to "long long" on platforms with 64bit "long". > That way > you can print int64 types with "%ll" on all platforms. But casting > to intmax > is just as good and the compiler should be able to figure out what > goes on and > make it a no-op. Course it helps to read more dilligently too. It's fine today I suppose, but pardoning my ignorance, are there any archs where in practice today, intmax_t isn't synonymous with int64_t, like maybe some ARM variants? TIA! -Garrett
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?38B3C45B-B617-413F-868C-A25E3651CA59>
