+ if (protocol_version >= 29) {
+ iflags = read_short(f_in);
+ if (!(iflags & ITEM_UPDATING) || !S_ISREG(file->mode)) {
+ if (am_server) {
+ write_int(f_out, i);
+ write_short(f_out, iflags);
+ } else if (itemize_changes
+ || iflags & ITEM_UPDATING
+ || (S_ISDIR(file->mode)
+ && iflags & ITEM_REPORT_TIME))
+ log_send(file, &stats, iflags);
+ continue;
+ }
+ } else
+ iflags = ITEM_UPDATING | ITEM_MISSING_DATA;
+
+ if (inplace && protocol_version >= 29) {
+ uchar fnamecmp_type = read_byte(f_in);
+ updating_basis_file = fnamecmp_type == FNAMECMP_FNAME;
+ } else
+ updating_basis_file = inplace && !make_backups;
+
+ if (!S_ISREG(file->mode)) {
+ rprintf(FERROR, "[%s] got index of non-regular file: %d\n",
+ who_am_i(), i);
+ exit_cleanup(RERR_PROTOCOL);
+ }
+