Fix last change to use correct IPv6 structure names when using INET6.
[rsync/rsync.git] / flist.c
diff --git a/flist.c b/flist.c
index 5fde5b6..1dee24c 100644 (file)
--- a/flist.c
+++ b/flist.c
@@ -538,7 +538,7 @@ static void receive_file_entry(struct file_struct **fptr,
                    (flags & SAME_GID) ? last_gid : (gid_t) read_int(f);
        if (preserve_devices && IS_DEVICE(file->mode))
                file->rdev =
-                   (flags & SAME_RDEV) ? last_rdev : (dev_t) read_int(f);
+                   (flags & SAME_RDEV) ? last_rdev : (DEV64_T) read_int(f);
 
        if (preserve_links && S_ISLNK(file->mode)) {
                int l = read_int(f);
@@ -867,11 +867,11 @@ static void send_directory(int f, struct file_list *flist, char *dir)
 }
 
 
-/*
+/**
  *
- * I *think* f==-1 means that the list should just be built in memory
- * and not transmitted.  But who can tell? -- mbp
- */
+ * I <b>think</b> f==-1 means that the list should just be built in
+ * memory and not transmitted.  But who can tell? -- mbp
+ **/
 struct file_list *send_file_list(int f, int argc, char *argv[])
 {
        int i, l;
@@ -1151,7 +1151,9 @@ int flist_find(struct file_list *flist, struct file_struct *f)
 {
        int low = 0, high = flist->count - 1;
 
-       if (flist->count <= 0)
+       while (high >= 0 && !flist->files[high]->basename) high--;
+
+       if (high < 0)
                return -1;
 
        while (low != high) {