From 760bc6f7e73014e934a744a9d46ea8dbf5ba25c8 Mon Sep 17 00:00:00 2001 From: Pádraig Brady Date: Sun, 29 Jun 2008 01:55:03 +0100 Subject: truncate: ignore whitespace in --size parameters Without this, `truncate -s '> -1' F` would truncate F to length 0, and `truncate -s " +1" F` would truncate F to 1 byte. Now, each elicits a diagnostic. * src/truncate.c: Skip leading white space in the --size option argument and any white space after one of the relative modifiers, so that the presence of a +/- modifier can be detected reliably. * tests/misc/truncate-parameters: Add tests for the above. --- tests/misc/truncate-parameters | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'tests/misc/truncate-parameters') diff --git a/tests/misc/truncate-parameters b/tests/misc/truncate-parameters index e41683190..27a22a91f 100755 --- a/tests/misc/truncate-parameters +++ b/tests/misc/truncate-parameters @@ -40,4 +40,10 @@ truncate --io-blocks --reference=file file && fail=1 # must specify valid numbers truncate --size="invalid" file && fail=1 +# spaces not significant around size +truncate --size="> -1" file && fail=1 +truncate --size=" >1" file || fail=1 #file now 1 +truncate --size=" +1" file || fail=1 #file now 2 +test $(stat --format %s file) = 2 || fail=1 + (exit $fail); exit $fail -- cgit v1.2.3-54-g00ecf