aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--coreutils/rm.c5
-rw-r--r--rm.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/coreutils/rm.c b/coreutils/rm.c
index 275c05946..c93a94ce1 100644
--- a/coreutils/rm.c
+++ b/coreutils/rm.c
@@ -45,6 +45,11 @@ static int fileAction(const char *fileName, struct stat *statbuf, void* junk)
static int dirAction(const char *fileName, struct stat *statbuf, void* junk)
{
+ if (recursiveFlag == FALSE) {
+ errno = EISDIR;
+ perror(fileName);
+ return (FALSE);
+ }
if (rmdir(fileName) < 0) {
perror(fileName);
return (FALSE);
diff --git a/rm.c b/rm.c
index 275c05946..c93a94ce1 100644
--- a/rm.c
+++ b/rm.c
@@ -45,6 +45,11 @@ static int fileAction(const char *fileName, struct stat *statbuf, void* junk)
static int dirAction(const char *fileName, struct stat *statbuf, void* junk)
{
+ if (recursiveFlag == FALSE) {
+ errno = EISDIR;
+ perror(fileName);
+ return (FALSE);
+ }
if (rmdir(fileName) < 0) {
perror(fileName);
return (FALSE);