summaryrefslogtreecommitdiff
path: root/parted
diff options
context:
space:
mode:
authorNiklas Hambüchen <mail@nh2.me>2018-05-11 21:09:05 +0200
committerPhillip Susi <psusi@ubuntu.com>2018-06-05 10:53:08 -0400
commitf3b4015e216a3733082e71ff930526f3e8bf0c26 (patch)
tree763d686b1c4f72d6db0b4880cb53282f0e68598e /parted
parent9e196cc2902255c328a90584e44666b79e4344c3 (diff)
downloadparted-f3b4015e216a3733082e71ff930526f3e8bf0c26.tar.gz
mkpart: Allow negative start value when FS-TYPE is not given
The manual had long documented that negative values are allowed for both start and end values, but until now negative start values were rejected if FS-TYPE was not given. Example: # parted --script -a optimal /dev/loop0 -- mklabel gpt mkpart primary ext4 -5MiB 100% (succeeds) # parted --script -a optimal /dev/loop0 -- mklabel gpt mkpart primary -5MiB 100% parted: invalid token: -5MiB Error: Expecting a file system type. This commit fixes the latter error. The issue was an insufficient lookahead in command line parsing, looking only for digits when skipping over FS-TYPE. The fix is including the minus '-' in the lookahead. Originally reported as Debian bug #880035: "parted: fails to use negative start value for 'mkpart' command without specyfying FS-TYPE" https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=880035 Signed-off-by: Niklas Hambüchen <mail@nh2.me>
Diffstat (limited to 'parted')
-rw-r--r--parted/parted.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/parted/parted.c b/parted/parted.c
index b5e3b97..88f32b9 100644
--- a/parted/parted.c
+++ b/parted/parted.c
@@ -682,7 +682,7 @@ do_mkpart (PedDevice** dev, PedDisk** diskp)
peek_word = command_line_peek_word ();
if (part_type == PED_PARTITION_EXTENDED
- || (peek_word && isdigit (peek_word[0]))) {
+ || (peek_word && (isdigit (peek_word[0]) || peek_word[0] == '-'))) {
fs_type = NULL;
} else {
if (!command_line_get_fs_type (_("File system type?"),