X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/6931c13800a3b3486a55c3060744a9a0b86d6c6e..b11b50bcd026a0a052bdfab7b96c97045b658d86:/flist.c diff --git a/flist.c b/flist.c index d417a744..8bc3ab37 100644 --- a/flist.c +++ b/flist.c @@ -57,7 +57,7 @@ extern int relative_paths; extern int implied_dirs; extern int copy_links; extern int copy_unsafe_links; -extern int remote_version; +extern int protocol_version; extern int io_error; extern int sanitize_paths; @@ -446,7 +446,7 @@ static void send_file_entry(struct file_struct *file, int f, #if SUPPORT_HARD_LINKS if (preserve_hard_links && S_ISREG(file->mode)) { - if (remote_version < 26) { + if (protocol_version < 26) { /* 32-bit dev_t and ino_t */ write_int(f, (int) file->dev); write_int(f, (int) file->inode); @@ -459,7 +459,7 @@ static void send_file_entry(struct file_struct *file, int f, #endif if (always_checksum) { - if (remote_version < 21) { + if (protocol_version < 21) { write_buf(f, file->sum, 2); } else { write_buf(f, file->sum, MD4_SUM_LENGTH); @@ -579,7 +579,7 @@ static void receive_file_entry(struct file_struct **fptr, } #if SUPPORT_HARD_LINKS if (preserve_hard_links && S_ISREG(file->mode)) { - if (remote_version < 26) { + if (protocol_version < 26) { file->dev = read_int(f); file->inode = read_int(f); } else { @@ -593,7 +593,7 @@ static void receive_file_entry(struct file_struct **fptr, file->sum = (char *) malloc(MD4_SUM_LENGTH); if (!file->sum) out_of_memory("md4 sum"); - if (remote_version < 21) { + if (protocol_version < 21) { read_buf(f, file->sum, 2); } else { read_buf(f, file->sum, MD4_SUM_LENGTH); @@ -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); } }