From: Jim Meyering Date: Sat, 5 Oct 2002 19:54:25 +0000 (+0000) Subject: (remove_entry) [ROOT_CAN_UNLINK_DIRS]: With `rm -i DIR', X-Git-Tag: v4.5.2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d0d7266488822c214d953a92a6804988d8500c81;p=thirdparty%2Fcoreutils.git (remove_entry) [ROOT_CAN_UNLINK_DIRS]: With `rm -i DIR', don't recurse into directory, DIR. --- diff --git a/src/remove.c b/src/remove.c index 335f868441..d8d2d31f3d 100644 --- a/src/remove.c +++ b/src/remove.c @@ -15,7 +15,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* Extracted from rm.c and librarified by Jim Meyering. */ +/* Extracted from rm.c and librarified, then rewritten by Jim Meyering. */ #ifdef _AIX #pragma alloca @@ -753,6 +753,13 @@ remove_entry (char const *filename, struct rm_options const *x, #else + if (is_dir == T_YES && ! x->recursive) + { + error (0, EISDIR, _("cannot remove directory %s"), + quote (full_filename (filename))); + return RM_ERROR; + } + /* is_empty_directory is set iff it's ok to use rmdir. Note that it's set only in interactive mode -- in which case it's an optimization that arranges so that the user is asked just