diff options
-rw-r--r-- | coreutils/rm.c | 5 | ||||
-rw-r--r-- | rm.c | 5 |
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); @@ -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); |