if (do_rename(fname,fnamebak) != 0) {
/* cygwin (at least version b19) reports EINVAL */
if (errno != ENOENT && errno != EINVAL) {
- rprintf(FERROR,"rename %s %s : %s\n",fname,fnamebak,strerror(errno));
+ rsyserr(FERROR, errno, "rename %s to backup %s", fname, fnamebak);
return 0;
}
} else if (verbose > 1) {
if (do_stat (fname, &st)) return 1;
#endif
- file = make_file (0, fname, 0);
+ file = make_file(-1, fname, NULL, 1);
+
+ /* the file could have disappeared */
+ if (!file) return 1;
/* make a complete pathname for backup file */
if (strlen(backup_dir) + strlen(fname) > (MAXPATHLEN - 1)) {