swap_part or boot_part can be set to -1 when they don't exist. Signed-off-by: Francesco Cosoleto <cosoleto@xxxxxxxxx> --- fdisk/fdisksgilabel.c | 8 ++++---- fdisk/fdisksgilabel.h | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/fdisk/fdisksgilabel.c b/fdisk/fdisksgilabel.c index 091902a..002688a 100644 --- a/fdisk/fdisksgilabel.c +++ b/fdisk/fdisksgilabel.c @@ -262,13 +262,13 @@ sgi_get_sysid(int i) int sgi_get_bootpartition(void) { - return SSWAP16(sgilabel->boot_part); + return (short) SSWAP16(sgilabel->boot_part); } int sgi_get_swappartition(void) { - return SSWAP16(sgilabel->swap_part); + return (short) SSWAP16(sgilabel->swap_part); } void @@ -513,10 +513,10 @@ verify_sgi(int verbose) * Go for details now */ if (verbose) { - if (!sgi_get_num_sectors(sgi_get_bootpartition())) { + if (sgi_get_bootpartition() < 0 || !sgi_get_num_sectors(sgi_get_bootpartition())) { printf(_("\nThe boot partition does not exist.\n")); } - if (!sgi_get_num_sectors(sgi_get_swappartition())) { + if (sgi_get_swappartition() < 0 || !sgi_get_num_sectors(sgi_get_swappartition())) { printf(_("\nThe swap partition does not exist.\n")); } else { if ((sgi_get_sysid(sgi_get_swappartition()) != SGI_SWAP) diff --git a/fdisk/fdisksgilabel.h b/fdisk/fdisksgilabel.h index 1445fa9..1c47bb4 100644 --- a/fdisk/fdisksgilabel.h +++ b/fdisk/fdisksgilabel.h @@ -63,8 +63,8 @@ struct device_parameter { /* 48 bytes */ typedef struct { unsigned int magic; /* expect SGI_LABEL_MAGIC */ - unsigned short boot_part; /* active boot partition */ - unsigned short swap_part; /* active swap partition */ + short boot_part; /* active boot partition */ + short swap_part; /* active swap partition */ unsigned char boot_file[16]; /* name of the bootfile */ struct device_parameter devparam; /* 1 * 48 bytes */ struct volume_directory { /* 15 * 16 bytes */ -- 1.7.3.4 -- To unsubscribe from this list: send the line "unsubscribe util-linux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html