X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=zpm-syncfs.c;h=958fde80535b90e611366dbe8c6ab89c4c64ad5c;hb=f72f5c784b3c7e525d59e11e25bd2d241f0bc53a;hp=0a0f1d51d1343d6c636f5f8c8719bdcc61cde37a;hpb=6adc79aeafb90e90c9923b3eeedab662888927e9;p=zpackage diff --git a/zpm-syncfs.c b/zpm-syncfs.c index 0a0f1d5..958fde8 100644 --- a/zpm-syncfs.c +++ b/zpm-syncfs.c @@ -234,16 +234,22 @@ static int remove_files(void *f, int ncols, char **vals, char **cols) { } if (S_ISDIR(st.st_mode)) { - fprintf(stderr, "rmdir %s\n", dest); + if (conf->verbose) { + fprintf(stderr, "rmdir(%s)\n", dest); + } rmdir(dest); } else if (S_ISREG(st.st_mode)) { /* TODO conf to import before removal */ if (conf->verbose) { fprintf(stderr, "unlink(%s)\n", dest); } - unlink(dest); + if (unlink(dest) == -1) { + IERR("can't unlink"); + } } else { - unlink(dest); + if (unlink(dest) == -1) { + IERR("can't unlink"); + } } return 0; @@ -361,10 +367,11 @@ static int install_files(void *f, int ncols, char **vals, char **cols) { IERR("zero length symlink not allowed"); } - if (conf->verbose > 1) { - fprintf(stderr, "symlink %s -> %s\n", path, target); + if (conf->verbose > 0) { + fprintf(stderr, "symlink %s -> %s\n", dest, target); } - if (symlink(target, path) == -1) { + if (symlink(target, dest) == -1) { + perror("symlink failed"); IERR("can't symlink"); } } else { @@ -377,7 +384,7 @@ static int install_files(void *f, int ncols, char **vals, char **cols) { } } - struct timespec times[2] = { 0 }; + struct timespec times[2] = { {0}, {0} }; double mtime = strtod(COL("mtime"),NULL); times[0].tv_nsec = UTIME_OMIT;