MCPcopy Create free account
hub / github.com/RsyncProject/rsync / recv_additional_file_list

Function recv_additional_file_list

flist.c:2797–2823  ·  view source on GitHub ↗

This is only used once by the receiver if the very first file-list * has exactly one item in it. */

Source from the content-addressed store, hash-verified

2795/* This is only used once by the receiver if the very first file-list
2796 * has exactly one item in it. */
2797void 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. */

Callers 2

do_server_recvFunction · 0.85
client_runFunction · 0.85

Calls 5

read_ndxFunction · 0.85
change_local_filter_dirFunction · 0.85
recv_file_listFunction · 0.85
rprintfFunction · 0.70
who_am_iFunction · 0.70

Tested by

no test coverage detected