From: Pavel Roskin <pro...@gnu.org> Date: Sun, 12 Apr 2009 02:39:22 -0400
> On Sat, 2009-04-11 at 01:08 -0700, David Miller wrote: >> The grub printf code tries to treat 'long' and 'int' the same, >> that doesn't work on (most) 64-bit platforms. > >> + n = (unsigned) (-((long) n)); > > "unsigned" means "unsigned int". You need "unsigned long" here. Thanks, I'll fix this as follows. * kern/misc.c (grub_ltoa): Fix cast when handling negative values. Noticed by Pavel Roskin. --- kern/misc.c (revision 2086) +++ kern/misc.c (working copy) @@ -598,7 +598,7 @@ if ((long) n < 0 && c == 'd') { - n = (unsigned) (-((long) n)); + n = (unsigned long) (-((long) n)); *str++ = '-'; } _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel