dtcopy: Fix file removal
authoralx <alx@fastestcode.org>
Thu, 25 Dec 2014 21:06:11 +0000 (22:06 +0100)
committerJon Trulson <jon@radscan.com>
Sun, 28 Dec 2014 19:53:39 +0000 (12:53 -0700)
cde/programs/dtfile/dtcopy/fsrtns.c

index c1d1d56040dc4139905b347f975134b9354b7e4d..5532aca2a2dc028713f633b6ac515ac708ef6aa2 100644 (file)
@@ -387,7 +387,7 @@ static int
 EraseObject(char *nameP, int force)
 {
   struct stat src_stat;
-  int rc;
+  int rc = 0;
 
   if (periodicCallback)
     if (periodicCallback() != 0)
@@ -396,15 +396,15 @@ EraseObject(char *nameP, int force)
   if (lstat(nameP, &src_stat) < 0)
     rc = errno;
   else if ((src_stat.st_mode & S_IFMT) == S_IFDIR) {
-    if (access(nameP, X_OK|W_OK))
+    if (access(nameP, X_OK|W_OK))
       return errno;
     rc = EmptyDir(nameP, 1, force);
   }
   else {
-    if (! (force || access(nameP, W_OK)))
+    if (!force && access(nameP, W_OK))
       return errno;
 
-    if (unlink(nameP))
+    if (unlink(nameP))
       rc = errno;
   }