From cc8ed39b240180b58810784f844e253263594ac3 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Tue, 5 Oct 1999 16:24:54 +0000 Subject: Initial revision --- rm.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 rm.c (limited to 'rm.c') diff --git a/rm.c b/rm.c new file mode 100644 index 000000000..dc35b0297 --- /dev/null +++ b/rm.c @@ -0,0 +1,30 @@ +#include "internal.h" +#include + +const char rm_usage[] = "rm [-r] file [file ...]\n" +"\n" +"\tDelete files.\n" +"\n" +"\t-r:\tRecursively remove files and directories.\n"; + +extern int +rm_main(struct FileInfo * i, int argc, char * * argv) +{ + i->processDirectoriesAfterTheirContents = 1; + return monadic_main(i, argc, argv); +} + +extern int +rm_fn(const struct FileInfo * i) +{ + if ( i->recursive + && !i->isSymbolicLink + && (i->stat.st_mode & S_IFMT) == S_IFDIR ) + return rmdir_fn(i); + else if ( unlink(i->source) != 0 && errno != ENOENT && !i->force ) { + name_and_error(i->source); + return 1; + } + else + return 0; +} -- cgit v1.2.3-55-g6feb