commit 97ad252d5dfd10323871f7a7cc9a004a05609846
parent 3728bd9305fe5dec733c6f9e33bde689f3790b03
Author: FRIGN <dev@frign.de>
Date: Fri, 30 Jan 2015 11:34:05 +0100
Add mandoc-manpage for rm(1)
and mark it as finished in README.
Diffstat:
M | README | | | 2 | +- |
M | rm.1 | | | 62 | ++++++++++++++++++++++++++++++++++++++++---------------------- |
M | rm.c | | | 5 | ++++- |
3 files changed, 45 insertions(+), 24 deletions(-)
diff --git a/README b/README
@@ -55,7 +55,7 @@ The following tools are implemented ('*' == finished, '#' == UTF-8 support,
=* pwd yes none
= readlink non-posix none
=* renice yes none
-= rm yes (-i)
+=* rm yes (-i)
= rmdir no -p
= setsid non-posix none
= sleep yes none
diff --git a/rm.1 b/rm.1
@@ -1,22 +1,40 @@
-.TH RM 1 sbase\-VERSION
-.SH NAME
-rm \- remove files and directories
-.SH SYNOPSIS
-.B rm
-.RB [ \-fRr ]
-.RI [ file ...]
-.SH DESCRIPTION
-.B rm
-removes the given files and directories.
-.SH OPTIONS
-.TP
-.B \-f
-ignore files that cannot be removed.
-.TP
-.B \-R
-equivalent to -r.
-.TP
-.B \-r
-remove directories recursively.
-.SH SEE ALSO
-.IR remove (3)
+.Dd January 30, 2015
+.Dt RM 1 sbase\-VERSION
+.Sh NAME
+.Nm rm
+.Nd remove directory entries
+.Sh SYNOPSIS
+.Nm rm
+.Op Fl f | Fl i
+.Op Fl Rr
+.Ar file ...
+.Sh DESCRIPTION
+.Nm
+removes each
+.Ar file .
+If
+.Ar file
+is a directory, it has to be empty unless
+.Fl R
+or
+.Fl r
+is specified.
+.Sh OPTIONS
+.Bl -tag -width Ds
+.It Fl f | Fl i
+Do not prompt | Prompt before removing
+.Ar file .
+In the former case, do not report when
+.Ar file
+doesn't exist or couldn't be removed.
+.It Fl Rr
+Remove directories recursively.
+.El
+.Sh SEE ALSO
+.Xr remove 3
+.Sh STANDARDS
+The
+.Nm
+utility is compliant with the
+.St -p1003.1-2008
+specification except from prompting.
diff --git a/rm.c b/rm.c
@@ -10,7 +10,7 @@
static void
usage(void)
{
- eprintf("usage: %s [-fRr] FILE...\n", argv0);
+ eprintf("usage: %s [-f | -i] [-Rr] file ...\n", argv0);
}
int
@@ -20,6 +20,9 @@ main(int argc, char *argv[])
case 'f':
rm_fflag = 1;
break;
+ case 'i':
+ rm_fflag = 0;
+ break;
case 'R':
case 'r':
rm_rflag = 1;