aboutsummaryrefslogtreecommitdiffstats
path: root/main.c
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2006-03-02 03:40:09 +0000
committerWayne Davison <wayned@samba.org>2006-03-02 03:40:09 +0000
commitcc8c5057fecefca576daa1f4e891b444f25686fd (patch)
treea99677f45587ad74fd6b5737d24598f192955ad5 /main.c
parentb4c7c1ca999f0c99d88b1acb10471e029d04fced (diff)
downloadandroid_external_rsync-cc8c5057fecefca576daa1f4e891b444f25686fd.tar.gz
android_external_rsync-cc8c5057fecefca576daa1f4e891b444f25686fd.tar.bz2
android_external_rsync-cc8c5057fecefca576daa1f4e891b444f25686fd.zip
If get_local_name() fails to stat() the destination for any
reason other than the destination does not exist, mention the error and exit.
Diffstat (limited to 'main.c')
-rw-r--r--main.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/main.c b/main.c
index 7ed0d39a..4b51d31e 100644
--- a/main.c
+++ b/main.c
@@ -438,8 +438,8 @@ static pid_t do_cmd(char *cmd, char *machine, char *user, char *path,
/* The receiving side operates in one of two modes:
*
- * 1. it enters a directory and receives one or more files, placing them
- * according to their names in the file-list.
+ * 1. it receives any number of files into a destination directory,
+ * placing them according to their names in the file-list.
*
* 2. it receives a single file and saves it using the name in the
* destination path instead of its file-list name. This requires a
@@ -480,6 +480,10 @@ static char *get_local_name(struct file_list *flist, char *dest_path)
" copying more than 1 file\n");
exit_cleanup(RERR_FILESELECT);
}
+ } else if (errno != ENOENT) {
+ rsyserr(FERROR, errno, "cannot stat destination %s",
+ full_fname(dest_path));
+ exit_cleanup(RERR_FILESELECT);
}
cp = strrchr(dest_path, '/');