From: Wayne Davison Date: Thu, 2 Mar 2006 03:40:09 +0000 (+0000) Subject: If get_local_name() fails to stat() the destination for any X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/commitdiff_plain/cc8c5057fecefca576daa1f4e891b444f25686fd If get_local_name() fails to stat() the destination for any reason other than the destination does not exist, mention the error and exit. --- 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, '/');