]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
authorphcoder <phcoder@localhost>
Sat, 13 Jun 2009 21:09:11 +0000 (21:09 +0000)
committerphcoder <phcoder@localhost>
Sat, 13 Jun 2009 21:09:11 +0000 (21:09 +0000)
* loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
handling

ChangeLog
loader/i386/multiboot.c

index 95c6ad2435a152189e2cd61cf3af9b8f1a4136fe..557a33a1985f60c0b8b6740582c782024f79dad6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-06-13  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition 
+       handling
+       
 2009-06-13  Jun Inoue <jun.lambda@gmail.com>
 
        * util/grub-mkconfig.in: Fix parsing of --output option.
index efca6511cbfa8de181451832320c9ba06fcbcb84..8ce315eab5d16b292a671d207f06ca2fef922e75 100644 (file)
@@ -170,7 +170,7 @@ grub_multiboot_get_bootdev (grub_uint32_t *bootdev)
        {
          if ((p[0] >= '0') && (p[0] <= '9'))
            {
-             slice = grub_strtoul (p, &p, 0);
+             slice = grub_strtoul (p, &p, 0) - 1;
 
              if ((p) && (p[0] == ','))
                p++;
@@ -184,7 +184,7 @@ grub_multiboot_get_bootdev (grub_uint32_t *bootdev)
     grub_device_close (dev);
 
   *bootdev = ((biosdev & 0xff) << 24) | ((slice & 0xff) << 16) 
-    | ((part & 0xff) << 16) | 0xff;
+    | ((part & 0xff) << 8) | 0xff;
   return (biosdev != ~0UL);
 #else
   *bootdev = 0xffffffff;