From 236ee032b56d7c57031028fa45d46cb7864f1f47 Mon Sep 17 00:00:00 2001 From: Marcel Moolenaar Date: Thu, 24 Apr 2008 00:11:15 +0000 Subject: Add support for gpart: o Correct for gpart's 1-based index, versus 0-based index used by legacy slicers. o Parse and understand the xs and xt parameters. --- lib/libdisk/open_disk.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'lib/libdisk/open_disk.c') diff --git a/lib/libdisk/open_disk.c b/lib/libdisk/open_disk.c index 5ffae46fe028..6ffe88d61a4e 100644 --- a/lib/libdisk/open_disk.c +++ b/lib/libdisk/open_disk.c @@ -193,7 +193,7 @@ Int_Open_Disk(const char *name, char *conftxt) if (!strcmp(a, "o")) off = o; else if (!strcmp(a, "i")) - i = o; + i = (!strcmp(t, "PART")) ? o - 1 : o; else if (!strcmp(a, "ty")) ty = o; else if (!strcmp(a, "sc")) @@ -202,6 +202,14 @@ Int_Open_Disk(const char *name, char *conftxt) hd = o; else if (!strcmp(a, "alt")) alt = o; + else if (!strcmp(a, "xs")) + t = b; + else if (!strcmp(a, "xt")) { + if (*r) + sn = b; + else + ty = o; + } } /* PLATFORM POLICY BEGIN ----------------------------------- */ @@ -278,11 +286,7 @@ Int_Open_Disk(const char *name, char *conftxt) i = Add_Chunk(d, off, len, n, gpt, 0, 0, b); else if (!strcmp(t, "APPLE")) i = Add_Chunk(d, off, len, n, apple, 0, 0, sn); - else if (!strcmp(t, "PART")) { -#ifdef __powerpc__ - i = Add_Chunk(d, off, len, n, apple, 0, 0, sn); -#endif - } else + else ; /* Ignore unknown classes. */ } /* PLATFORM POLICY BEGIN ------------------------------------- */ -- cgit v1.2.3