From: Wayne Davison Date: Sat, 31 Jan 2004 20:24:52 +0000 (+0000) Subject: Fixed the test to ensure that we don't send a flag-byte of 0 to the X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/commitdiff_plain/0a98201164d9d172bbac476895dc5a5d01ef04f3 Fixed the test to ensure that we don't send a flag-byte of 0 to the receiver when transferring the file list. --- diff --git a/flist.c b/flist.c index d6e1cf10..eaa1b2df 100644 --- a/flist.c +++ b/flist.c @@ -441,19 +441,19 @@ void send_file_entry(struct file_struct *file, int f, unsigned short base_flags) if (l2 > 255) flags |= XMIT_LONG_NAME; - /* We must make sure we don't send a zero flags byte or + /* We must make sure we don't send a zero flag-byte or * the other end will terminate the flist transfer. */ - if (flags == 0 && !S_ISDIR(mode)) + if (!(flags & 0xFF) && !S_ISDIR(mode)) flags |= XMIT_TOP_DIR; /* NOTE: no meaning for non-dir */ if (protocol_version >= 28) { - if ((flags & 0xFF00) || flags == 0) { + if ((flags & 0xFF00) || !(flags & 0xFF)) { flags |= XMIT_EXTENDED_FLAGS; write_byte(f, flags); write_byte(f, flags >> 8); } else write_byte(f, flags); } else { - if (flags == 0) + if (!(flags & 0xFF)) flags |= XMIT_LONG_NAME; write_byte(f, flags); }