This is only used once by the receiver if the very first file-list * has exactly one item in it. */
| 2795 | /* This is only used once by the receiver if the very first file-list |
| 2796 | * has exactly one item in it. */ |
| 2797 | void recv_additional_file_list(int f) |
| 2798 | { |
| 2799 | struct file_list *flist; |
| 2800 | int ndx = read_ndx(f); |
| 2801 | if (ndx == NDX_FLIST_EOF) { |
| 2802 | flist_eof = 1; |
| 2803 | if (DEBUG_GTE(FLIST, 3)) |
| 2804 | rprintf(FINFO, "[%s] flist_eof=1\n", who_am_i()); |
| 2805 | change_local_filter_dir(NULL, 0, 0); |
| 2806 | } else { |
| 2807 | ndx = NDX_FLIST_OFFSET - ndx; |
| 2808 | if (ndx < 0 || ndx >= dir_flist->used) { |
| 2809 | ndx = NDX_FLIST_OFFSET - ndx; |
| 2810 | rprintf(FERROR, |
| 2811 | "[%s] Invalid dir index: %d (%d - %d)\n", |
| 2812 | who_am_i(), ndx, NDX_FLIST_OFFSET, |
| 2813 | NDX_FLIST_OFFSET - dir_flist->used + 1); |
| 2814 | exit_cleanup(RERR_PROTOCOL); |
| 2815 | } |
| 2816 | if (DEBUG_GTE(FLIST, 3)) { |
| 2817 | rprintf(FINFO, "[%s] receiving flist for dir %d\n", |
| 2818 | who_am_i(), ndx); |
| 2819 | } |
| 2820 | flist = recv_file_list(f, ndx); |
| 2821 | flist->parent_ndx = ndx; |
| 2822 | } |
| 2823 | } |
| 2824 | |
| 2825 | /* Search for an identically-named item in the file list. Note that the |
| 2826 | * items must agree in their directory-ness, or no match is returned. */ |
no test coverage detected