diff options
author | Pierre-Alexandre Meyer <pierre@ning.com> | 2009-11-21 16:49:37 -0800 |
---|---|---|
committer | Pierre-Alexandre Meyer <pierre@ning.com> | 2009-11-21 16:49:37 -0800 |
commit | 19692bd2cae18f855980f3ab8dcf4589a434f9c4 (patch) | |
tree | fc93d81d34e94c2c3b83ddd777f611e71b192053 /com32/gpllib/disk/mbrs.c | |
parent | 875e6c8e0d8bf5815b8598f26c7a74af01ccd8e3 (diff) | |
download | syslinux-19692bd2cae18f855980f3ab8dcf4589a434f9c4.tar.gz |
gpllib: mbr: fix grub2 detection
gerth reports that hdt-0.3.6 doesn't detect grub2 anymore.
It looks like some break were missing in the case statement.
Signed-off-by: Pierre-Alexandre Meyer <pierre@mouraf.org>
Diffstat (limited to 'com32/gpllib/disk/mbrs.c')
-rw-r--r-- | com32/gpllib/disk/mbrs.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/com32/gpllib/disk/mbrs.c b/com32/gpllib/disk/mbrs.c index 403458c2..5bf96050 100644 --- a/com32/gpllib/disk/mbrs.c +++ b/com32/gpllib/disk/mbrs.c @@ -40,17 +40,17 @@ void get_mbr_string(const uint32_t label, char* buffer, const int buffer_size) case 0xea1e: strncpy(buffer, "Truecrypt Boot Loader", buffer_size - 1); break; case 0xeb04: strncpy(buffer, "Solaris", buffer_size - 1); break; case 0xeb48: strncpy(buffer, "Grub", buffer_size - 1); break; - case 0xeb4c: strncpy(buffer, "Grub2 (v1.96)", buffer_size - 1); - case 0xeb63: strncpy(buffer, "Grub2 (v1.97)", buffer_size - 1); - case 0xeb5e: - /* We need more than 2 bytes */ - if (((label >> 8) & 0xff) == 0x00) - strncpy(buffer, "fbinst", buffer_size - 1); - else if (((label >> 8) & 0xff) == 0x80) - strncpy(buffer, "Grub4Dos", buffer_size - 1); - else - strncpy(buffer, "Unknown mbr", buffer_size - 1); break; - break; + case 0xeb4c: strncpy(buffer, "Grub2 (v1.96)", buffer_size - 1); break; + case 0xeb63: strncpy(buffer, "Grub2 (v1.97)", buffer_size - 1); break; + case 0xeb5e: + /* We need more than 2 bytes */ + if (((label >> 8) & 0xff) == 0x00) + strncpy(buffer, "fbinst", buffer_size - 1); + else if (((label >> 8) & 0xff) == 0x80) + strncpy(buffer, "Grub4Dos", buffer_size - 1); + else + strncpy(buffer, "Unknown mbr", buffer_size - 1); + break; case 0xfa31: /* We need more than 2 bytes */ if (((label >> 8) & 0xff) == 0xc9) @@ -58,7 +58,7 @@ void get_mbr_string(const uint32_t label, char* buffer, const int buffer_size) else if (((label >> 8) & 0xff) == 0xc0) strncpy(buffer, "Syslinux", buffer_size - 1); else - strncpy(buffer, "Unknown mbr", buffer_size - 1); break; + strncpy(buffer, "Unknown mbr", buffer_size - 1); break; case 0xfaeb: strncpy(buffer, "Lilo", buffer_size - 1); break; case 0xfc31: strncpy(buffer, "Testdisk", buffer_size - 1); break; |