summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorPádraig Brady <P@draigBrady.com>2008-06-29 01:55:03 +0100
committerJim Meyering <meyering@redhat.com>2008-06-30 10:23:17 +0200
commit760bc6f7e73014e934a744a9d46ea8dbf5ba25c8 (patch)
treed223895de4241de31247bc2034516340ebe0d089 /tests
parent9396eb903752ad4a1375235f62dcb094a5ae2cf0 (diff)
downloadcoreutils-760bc6f7e73014e934a744a9d46ea8dbf5ba25c8.tar.xz
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.
Diffstat (limited to 'tests')
-rwxr-xr-xtests/misc/truncate-parameters6
1 files changed, 6 insertions, 0 deletions
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