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;