summaryrefslogtreecommitdiff
path: root/com32/chain/mangle.c
diff options
context:
space:
mode:
authorMichal Soltys <soltys@ziu.info>2013-02-14 16:51:46 +0100
committerMichal Soltys <soltys@ziu.info>2013-02-14 16:53:05 +0100
commitd4ce5b911628423adeb53db8a3cb796f8de2016d (patch)
treea3c00a9e5fd52d6b1682ce93a64a9ac8d506e211 /com32/chain/mangle.c
parentc3e12b67d34fbf0efaae33c8b0867ccceb7c5949 (diff)
downloadsyslinux-d4ce5b911628423adeb53db8a3cb796f8de2016d.tar.gz
com32/chain: implement handling of non-standard hybrid GPT+MBR layouts
We also take a bit relaxed approach - so we check for presence of 0xEE at any place, then attempt to read GPT header only if prefmbr is not set. Signed-off-by: Michal Soltys <soltys@ziu.info>
Diffstat (limited to 'com32/chain/mangle.c')
-rw-r--r--com32/chain/mangle.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/com32/chain/mangle.c b/com32/chain/mangle.c
index 252128da..94e6e90f 100644
--- a/com32/chain/mangle.c
+++ b/com32/chain/mangle.c
@@ -537,7 +537,7 @@ int manglepe_hide(struct part_iter *miter)
if (miter->index > 4 && !(opt.hide & HIDE_EXT))
warn("Specified partition is logical, so it can't be unhidden without 'unhideall'.");
- if (!(iter = pi_begin(&miter->di, PIF_STEPALL | opt.relax)))
+ if (!(iter = pi_begin(&miter->di, PIF_STEPALL | opt.relax | opt.prefmbr)))
return -1;
while (!pi_next(iter) && !werr) {
@@ -611,7 +611,7 @@ int manglepe_fixchs(struct part_iter *miter)
return -1;
}
- if (!(iter = pi_begin(&miter->di, PIF_STEPALL | opt.relax)))
+ if (!(iter = pi_begin(&miter->di, PIF_STEPALL | opt.relax | opt.prefmbr)))
return -1;
while (!pi_next(iter) && !werr) {