X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/4a19c3b254b01c298fe25d72f450a760278e9386..d521e1c2a1980d241b0ca611d71c78d51bf255f5:/flist.c diff --git a/flist.c b/flist.c index 8b24b0a1..06b3d46b 100644 --- a/flist.c +++ b/flist.c @@ -396,8 +396,7 @@ static void send_file_entry(struct file_struct *file, int f) flags |= XMIT_TOP_DIR; if ((flags & 0xFF00) || !flags) { flags |= XMIT_EXTENDED_FLAGS; - write_byte(f, flags); - write_byte(f, flags >> 8); + write_shortint(f, flags); } else write_byte(f, flags); } else { @@ -455,8 +454,8 @@ static void send_file_entry(struct file_struct *file, int f) if (file->link_u.idev) { if (protocol_version < 26) { /* 32-bit dev_t and ino_t */ - write_int(f, dev); - write_int(f, file->F_INODE); + write_int(f, (int32)dev); + write_int(f, (int32)file->F_INODE); } else { /* 64-bit dev_t and ino_t */ if (!(flags & XMIT_SAME_DEV)) @@ -794,7 +793,7 @@ struct file_struct *make_file(char *fname, struct file_list *flist, return NULL; } - /* We only care about directories because we need to avoid recursing + /* -x only affects directories because we need to avoid recursing * into a mount-point directory, not to avoid copying a symlinked * file if -L (or similar) was specified. */ if (one_file_system && st.st_dev != filesystem_dev @@ -1450,10 +1449,10 @@ int flist_find(struct file_list *flist, struct file_struct *f) if (mid_up > high) { /* If there's nothing left above us, set high to * a non-empty entry below us and continue. */ - high = mid - flist->files[mid]->length; + high = mid - (int)flist->files[mid]->length; if (!flist->files[high]->basename) { do { - high -= flist->files[high]->length; + high -= (int)flist->files[high]->length; } while (!flist->files[high]->basename); flist->files[mid]->length = mid - high; }