int trailing_CR_or_NL;
FILE *f = NULL;
- if (quiet && code == FINFO)
- return;
-
if (len < 0)
exit_cleanup(RERR_MESSAGEIO);
+ if (quiet && code == FINFO)
+ return;
+
if (am_server && msg_fd_out >= 0) {
/* Pass the message to our sibling. */
send_msg((enum msgcode)code, buf, len);
return;
}
+ if (code == FSOCKERR) /* This gets simplified for a non-sibling. */
+ code = FERROR;
+
if (code == FCLIENT)
code = FINFO;
else if (am_daemon) {
: !(iflags & ITEM_TRANSFER) ? '.'
: !local_server && *op == 's' ? '<' : '>';
n[1] = S_ISDIR(file->mode) ? 'd'
+ : IS_SPECIAL(file->mode) ? 'S'
: IS_DEVICE(file->mode) ? 'D'
: S_ISLNK(file->mode) ? 'L' : 'f';
n[2] = !(iflags & ITEM_REPORT_CHECKSUM) ? '.' : 'c';
n[3] = !(iflags & ITEM_REPORT_SIZE) ? '.' : 's';
n[4] = !(iflags & ITEM_REPORT_TIME) ? '.'
- : !preserve_times || IS_DEVICE(file->mode)
- || S_ISLNK(file->mode) ? 'T' : 't';
+ : !preserve_times || S_ISLNK(file->mode) ? 'T' : 't';
n[5] = !(iflags & ITEM_REPORT_PERMS) ? '.' : 'p';
n[6] = !(iflags & ITEM_REPORT_OWNER) ? '.' : 'o';
n[7] = !(iflags & ITEM_REPORT_GROUP) ? '.' : 'g';
- n[8] = !(iflags & ITEM_REPORT_XATTRS) ? '.' : 'a';
- n[9] = '\0';
+ n[8] = '\0';
if (iflags & (ITEM_IS_NEW|ITEM_MISSING_DATA)) {
char ch = iflags & ITEM_IS_NEW ? '+' : '?';