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
* 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)
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 */