[syslinux:master] com32/chain: fix condition in pentry_mangle()

syslinux-bot for Michal Soltys soltys at ziu.info
Mon Mar 26 15:03:22 PDT 2012


Commit-ID:  dfc78281b079868a640bab1915502b61626b35d5
Gitweb:     http://www.syslinux.org/commit/dfc78281b079868a640bab1915502b61626b35d5
Author:     Michal Soltys <soltys at ziu.info>
AuthorDate: Tue, 5 Oct 2010 23:14:14 +0200
Committer:  Michal Soltys <soltys at ziu.info>
CommitDate: Fri, 8 Oct 2010 12:40:51 +0200

com32/chain: fix condition in pentry_mangle()

Signed-off-by: Michal Soltys <soltys at ziu.info>

---
 com32/chain/chain.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/com32/chain/chain.c b/com32/chain/chain.c
index 9fdb6ce..25d8fa7 100644
--- a/com32/chain/chain.c
+++ b/com32/chain/chain.c
@@ -301,7 +301,7 @@ static void hide_unhide(const struct part_iter *_iter)
     bool write_back = false;
 
     if (_iter->type != typedos) {
-	error("Option 'hide' is only meaningful for legacy partition scheme.");
+	error("Option 'hide' is only meaningful for legacy partition scheme.\n");
 	goto bail;
     }
     if (!(mbr = disk_read_sectors(&_iter->di, 0, 1))) {
@@ -399,11 +399,13 @@ static int pentry_mangle(struct part_iter *miter)
 
     if (miter->type != typedos) {
 	error("Partition entry mangling ('[un]hide[all]', 'mbrchs')\n"
-	      "is meaningful only for legacy partition scheme.");
+	      "is meaningful only for legacy partition scheme.\n");
 	goto bail;
     }
-    if ((miter->index < 1 || miter->index > 4) && opt.hide & 1)
-	error("WARNING: option '[un]hide' specified with a non-primary partition.\n");
+    if (opt.hide &&
+	    ((miter->index < 1 && opt.hide < 4) || /* try to hide a disk */
+	     (miter->index > 4 && opt.hide == 1))) /* try to hide a part when limited to pri */
+	error("WARNING: It's impossible to hide the selected partition (or you selected a disk).\n");
 
     if (!(iter = pi_begin(&miter->di, 1)))  /* turn on stepall */
 	goto bail;


More information about the Syslinux-commits mailing list