X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/d04e9c51b4bc8e0fc1c7065553dcd3ac73a0ae40..6a7cc46cb279b9dbf12977177330aeebb912aa34:/flist.c diff --git a/flist.c b/flist.c index 71667620..8bc3ab37 100644 --- a/flist.c +++ b/flist.c @@ -693,8 +693,8 @@ struct file_struct *make_file(char *fname, struct string_area **ap, } } io_error = 1; - rprintf(FERROR, "readlink %s: %s\n", - fname, strerror(save_errno)); + rprintf(FERROR, "readlink %s failed: %s\n", + full_fname(fname), strerror(save_errno)); return NULL; } @@ -843,7 +843,8 @@ static void send_directory(int f, struct file_list *flist, char *dir) d = opendir(dir); if (!d) { io_error = 1; - rprintf(FERROR, "opendir(%s): %s\n", dir, strerror(errno)); + rprintf(FERROR, "opendir %s failed: %s\n", + full_fname(dir), strerror(errno)); return; } @@ -852,9 +853,8 @@ static void send_directory(int f, struct file_list *flist, char *dir) if (fname[l - 1] != '/') { if (l == MAXPATHLEN - 1) { io_error = 1; - rprintf(FERROR, - "skipping long-named directory %s\n", - fname); + rprintf(FERROR, "skipping long-named directory: %s\n", + full_fname(fname)); closedir(d); return; } @@ -873,18 +873,23 @@ static void send_directory(int f, struct file_list *flist, char *dir) io_error = 1; rprintf(FINFO, "cannot cvs-exclude in long-named directory %s\n", - fname); + full_fname(fname)); } } - for (di = readdir(d); di; di = readdir(d)) { + for (errno = 0, di = readdir(d); di; errno = 0, di = readdir(d)) { char *dname = d_name(di); - if (dname[0] == '.' && (dname[1] == '\0' || - (dname[1] == '.' && dname[2] == '\0'))) + if (dname[0] == '.' && (dname[1] == '\0' + || (dname[1] == '.' && dname[2] == '\0'))) continue; strlcpy(p, dname, MAXPATHLEN - l); send_file_name(f, flist, fname, recurse, 0); } + if (errno) { + io_error = 1; + rprintf(FERROR, "readdir(%s): (%d) %s\n", + dir, errno, strerror(errno)); + } if (local_exclude_list) free_exclude_list(&local_exclude_list); /* Zeros pointer too */ @@ -920,8 +925,8 @@ struct file_list *send_file_list(int f, int argc, char *argv[]) io_start_buffering(f); if (filesfrom_fd >= 0) { if (argv[0] && !push_dir(argv[0], 0)) { - rprintf(FERROR, "push_dir %s : %s\n", - argv[0], strerror(errno)); + rprintf(FERROR, "push_dir %s failed: %s\n", + full_fname(argv[0]), strerror(errno)); exit_cleanup(RERR_FILESELECT); } use_ff_fd = 1; @@ -957,8 +962,8 @@ struct file_list *send_file_list(int f, int argc, char *argv[]) if (link_stat(fname, &st) != 0) { if (f != -1) { io_error = 1; - rprintf(FERROR, "link_stat %s : %s\n", - fname, strerror(errno)); + rprintf(FERROR, "link_stat %s failed: %s\n", + full_fname(fname), strerror(errno)); } continue; } @@ -1024,8 +1029,8 @@ struct file_list *send_file_list(int f, int argc, char *argv[]) if (!olddir) { io_error = 1; - rprintf(FERROR, "push_dir %s : %s\n", - dir, strerror(errno)); + rprintf(FERROR, "push_dir %s failed: %s\n", + full_fname(dir), strerror(errno)); continue; } @@ -1040,8 +1045,8 @@ struct file_list *send_file_list(int f, int argc, char *argv[]) if (olddir != NULL) { flist_dir = NULL; if (pop_dir(olddir) != 0) { - rprintf(FERROR, "pop_dir %s : %s\n", - dir, strerror(errno)); + rprintf(FERROR, "pop_dir %s failed: %s\n", + full_fname(dir), strerror(errno)); exit_cleanup(RERR_FILESELECT); } }