]> pd.if.org Git - zpackage/blobdiff - zpm-syncfs.c
ignore missing files to unlink
[zpackage] / zpm-syncfs.c
index 68f2e423e4c43ca6d52bafd25d4a26867acccab9..d4fe2806eb9a3436764d2d1edc5a0c588cd6cc7c 100644 (file)
@@ -628,8 +628,17 @@ static int remove_files(void *f, int ncols, char **vals, char **cols) {
                return 0;
        }
 
+       errno = 0;
+
        if (lstat(dest, &st) == -1) {
-               return seterror(conf,"can't stat");
+               switch (errno) {
+                       case ENOENT:
+                               /* TODO chatter if verbose */
+                               break;
+                       default:
+                               return seterror(conf, "can't stat %s: %s", dest, strerror(errno));
+               }
+               return 0;
        }
 
        if (S_ISDIR(st.st_mode)) {
@@ -658,7 +667,7 @@ static int remove_files(void *f, int ncols, char **vals, char **cols) {
                        case ENOENT:
                                break;
                        default:
-                               return seterror(conf, "can't unlink");
+                               return seterror(conf, "can't unlink %s: %s", dest, strerror(errno));
                }
        }