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);