From: Pádraig Brady
Date: Tue, 4 Oct 2016 12:43:32 +0000 (+0100)
Subject: rm: disallow --n alias for --no-preserve-root
X-Git-Tag: v8.26~63
X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0e060d9fef64727aa2d41f00f8217c61166bb2e0;p=thirdparty%2Fcoreutils.git
rm: disallow --n alias for --no-preserve-root
* src/rm.c (main): Ensure the full --no-preserve-root
option is specified, rather than allowing --n etc.
* tests/rm/r-root.sh: Add a test case.
* NEWS: Mention the change in behavior.
Improved by Jim Meyering.
Fixes http://bugs.gnu.org/24604
---
diff --git a/NEWS b/NEWS
index c3554d0fed..e68de05a23 100644
--- a/NEWS
+++ b/NEWS
@@ -52,6 +52,8 @@ GNU coreutils NEWS -*- outline -*-
** Changes in behavior
+ rm no longer accepts shortened variants of the --no-preserve-root option.
+
seq no longer accepts 0 value as increment, and now also rejects NaN
values for any argument.
@@ -81,8 +83,8 @@ GNU coreutils NEWS -*- outline -*-
** New Features
- date now accepts the --debug option, to annotate the parsed date string,
- display timezone information, and warn about potential misuse.
+ date now accepts the --debug option, to annotate the parsed date string,
+ display timezone information, and warn about potential misuse.
* Noteworthy changes in release 8.25 (2016-01-20) [stable]
diff --git a/src/rm.c b/src/rm.c
index 13a5714c33..2c54405f7b 100644
--- a/src/rm.c
+++ b/src/rm.c
@@ -287,6 +287,9 @@ main (int argc, char **argv)
break;
case NO_PRESERVE_ROOT:
+ if (! STREQ (argv[optind - 1], "--no-preserve-root"))
+ error (EXIT_FAILURE, 0,
+ _("you may not abbreviate the --no-preserve-root option"));
preserve_root = false;
break;
diff --git a/tests/rm/r-root.sh b/tests/rm/r-root.sh
index b98db141be..3b7837fe02 100755
--- a/tests/rm/r-root.sh
+++ b/tests/rm/r-root.sh
@@ -210,6 +210,15 @@ for opts in \
test $fail = 1 && { cat out; cat err; Exit $fail; }
done
+#-------------------------------------------------------------------------------
+# Exercise with --no-preserve to ensure shortened equivalent is not allowed.
+cat <