diff options
-rw-r--r-- | disk-utils/sfdisk.8 | 2 | ||||
-rw-r--r-- | disk-utils/sfdisk.c | 17 |
2 files changed, 11 insertions, 8 deletions
diff --git a/disk-utils/sfdisk.8 b/disk-utils/sfdisk.8 index 8f905174f..029083fc9 100644 --- a/disk-utils/sfdisk.8 +++ b/disk-utils/sfdisk.8 @@ -74,7 +74,7 @@ together with \fB\-\-verify\fR. .TP .BR \-\-part\-attrs " " \fIdevice\fR " " \fIpartno\fR " "[\fIattrs\fR] Change GPT partition attribute bits. If \fIattrs\fR no specified then print the current -partition setting. The \fIattrs\fR is comma delimited list of bits. The currently +partition setting. The \fIattrs\fR is comma or space delimited list of bits. The currently supported attribute bits are: RequiredPartiton, NoBlockIOProtocol, LegacyBIOSBootable and GUID specific bits in range from 48 to 63. For example string "RequiredPartiton,50,51" sets three bits. diff --git a/disk-utils/sfdisk.c b/disk-utils/sfdisk.c index 83b9cf57f..1be40caad 100644 --- a/disk-utils/sfdisk.c +++ b/disk-utils/sfdisk.c @@ -1238,6 +1238,10 @@ static int command_fdisk(struct sfdisk *sf, int argc, char **argv) if (!created) { /* create a new disklabel */ rc = fdisk_apply_script_headers(sf->cxt, dp); created = !rc; + if (rc) + fdisk_warnx(sf->cxt, _( + "Failed to apply script headers, " + "disk label not created.")); } if (!rc && partno >= 0) { /* -N <partno>, modify partition */ rc = fdisk_set_partition(sf->cxt, partno, pa); @@ -1248,7 +1252,7 @@ static int command_fdisk(struct sfdisk *sf, int argc, char **argv) rc = fdisk_add_partition(sf->cxt, pa, &cur_partno); if (rc) { errno = -rc; - fdisk_warn(sf->cxt, _("failed to add partition")); + fdisk_warn(sf->cxt, _("Failed to add partition")); } } @@ -1256,16 +1260,15 @@ static int command_fdisk(struct sfdisk *sf, int argc, char **argv) if (sf->interactive) sfdisk_print_partition(sf, cur_partno); next_partno = cur_partno + 1; - } else if (pa) { /* error, drop partition from script */ + } else if (pa) /* error, drop partition from script */ fdisk_table_remove_partition(tb, pa); - if (rc == -ENOSPC) { - rc = SFDISK_DONE_ASK; - break; - } - } } else fdisk_info(sf->cxt, _("Script header accepted.")); + if (rc && !sf->interactive) { + rc = SFDISK_DONE_ABORT; + break; + } } while (1); if (!sf->quiet && rc != SFDISK_DONE_ABORT) { |