From 9ae0be95f1e349f0586a8bc7a4f6d0433c6a4baf Mon Sep 17 00:00:00 2001
From: kraai <kraai@69ca8d6d-28ef-0310-b511-8ec308f3f277>
Date: Tue, 5 Dec 2000 05:11:41 +0000
Subject: Use perrorMsg instead of perror and keep removing files if we
 encounter an error.

git-svn-id: svn://busybox.net/trunk/busybox@1377 69ca8d6d-28ef-0310-b511-8ec308f3f277
---
 rm.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

(limited to 'rm.c')

diff --git a/rm.c b/rm.c
index c62083e9b..566335158 100644
--- a/rm.c
+++ b/rm.c
@@ -37,7 +37,7 @@ static const char *srcName;
 static int fileAction(const char *fileName, struct stat *statbuf, void* junk)
 {
 	if (unlink(fileName) < 0) {
-		perror(fileName);
+		perrorMsg("%s", fileName);
 		return (FALSE);
 	}
 	return (TRUE);
@@ -47,11 +47,11 @@ static int dirAction(const char *fileName, struct stat *statbuf, void* junk)
 {
 	if (recursiveFlag == FALSE) {
 		errno = EISDIR;
-		perror(fileName);
+		perrorMsg("%s", fileName);
 		return (FALSE);
 	} 
 	if (rmdir(fileName) < 0) {
-		perror(fileName);
+		perrorMsg("%s", fileName);
 		return (FALSE);
 	}
 	return (TRUE);
@@ -59,6 +59,7 @@ static int dirAction(const char *fileName, struct stat *statbuf, void* junk)
 
 extern int rm_main(int argc, char **argv)
 {
+	int status = EXIT_SUCCESS;
 	int stopIt=FALSE;
 	struct stat statbuf;
 
@@ -102,9 +103,9 @@ extern int rm_main(int argc, char **argv)
 		} else {
 			if (recursiveAction(srcName, recursiveFlag, FALSE,
 								TRUE, fileAction, dirAction, NULL) == FALSE) {
-				return EXIT_FAILURE;
+				status = EXIT_FAILURE;
 			}
 		}
 	}
-	return EXIT_SUCCESS;
+	return status;
 }
-- 
cgit v1.2.3-55-g6feb