On Tue, Jul 21, 2009 at 11:31 PM, Pavel Roskin<pro...@gnu.org> wrote: > On Tue, 2009-07-21 at 20:46 +0200, Javier Martín wrote: >> Vladimir 'phcoder' Serbinenko escribió: >> > On Tue, Jul 21, 2009 at 7:14 PM, Pavel Roskin<pro...@gnu.org> wrote: >> >> On Tue, 2009-07-21 at 15:03 +0200, Vladimir 'phcoder' Serbinenko wrote: >> >>> + grub_sprintf (*uuid, "%08lx%08lx", >> >>> + (unsigned long) grub_le_to_cpu32 >> >>> (data->sblock.uuidhi), >> >>> + (unsigned long) grub_le_to_cpu32 >> >>> (data->sblock.uuidlow)); >> >> unsigned long is 64-bit on x86_64. unsigned int would do just fine >> >> here. >> > Ok >> We could use the <inttypes.h> macros for [u]intN_t types: >> grub_sprintf (*uuid, PRIx32 "-" PRIx32, >> grub_le_to_cpu32 (data->sblock.uuidhi), >> grub_le_to_cpu32 (data->sblock.uuidlow)); >> Of course, our *printf functions would have to recognize them, and we'd >> have to provide a suitable default for the header if the system compiler >> is not C99 compliant, but I think it's a good step forwards. >> >> I would be willing to implement such a header/change to the *printf >> functions if there's any interest in them. > > I think we shouldn't overengineer this. We don't support platforms > where int is not 32-bit. If we add support for such platform, we'll > have more issues than just printf. > This change would allow to produce a code which is cleaner, easier to read and understand. However I'm opposed to modifying printf function for it. Instead we could just define somewhere: GRUB_PRIx32 "%x" #ifdef LONG_SIZEOF == 8 GRUB_PRIx64 "%lx" #else GRUB_PRIx64 "%llx" #endif
> -- > Regards, > Pavel Roskin > > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/grub-devel > -- Regards Vladimir 'phcoder' Serbinenko Personal git repository: http://repo.or.cz/w/grub2/phcoder.git _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel