OSDN Git Service

The Linux kernel "make clean" calls rm -f with no arguments, which apparently is...
authorRob Landley <rob@landley.net>
Thu, 13 Dec 2012 03:13:12 +0000 (21:13 -0600)
committerRob Landley <rob@landley.net>
Thu, 13 Dec 2012 03:13:12 +0000 (21:13 -0600)
toys/posix/rm.c

index 59d5061..c9f741c 100644 (file)
@@ -4,7 +4,7 @@
  *
  * See http://pubs.opengroup.org/onlinepubs/9699919799/utilities/rm.html
 
-USE_RM(NEWTOY(rm, "<1fiRr[-fi]", TOYFLAG_BIN))
+USE_RM(NEWTOY(rm, "fiRr[-fi]", TOYFLAG_BIN))
 
 config RM
   bool "rm"
@@ -76,6 +76,9 @@ void rm_main(void)
 {
   char **s;
 
+  // Can't use <1 in optstring because zero arguments with -f isn't an error
+  if (!toys.optc && !(toys.optflags & FLAG_f)) error_exit("Needs 1 argument");
+
   for (s = toys.optargs; *s; s++) {
     if (!strcmp(*s, "/")) {
       error_msg("rm /. if you mean it");