Diff for /embedaddon/rsync/flist.c between versions 1.1.1.1 and 1.1.1.1.2.1

version 1.1.1.1, 2012/02/17 15:09:30 version 1.1.1.1.2.1, 2013/07/22 00:20:20
Line 60  extern int non_perishable_cnt; Line 60  extern int non_perishable_cnt;
 extern int prune_empty_dirs;  extern int prune_empty_dirs;
 extern int copy_links;  extern int copy_links;
 extern int copy_unsafe_links;  extern int copy_unsafe_links;
   extern int detect_renamed;
 extern int protocol_version;  extern int protocol_version;
 extern int sanitize_paths;  extern int sanitize_paths;
 extern int munge_symlinks;  extern int munge_symlinks;
Line 120  static int64 tmp_dev = -1, tmp_ino; Line 121  static int64 tmp_dev = -1, tmp_ino;
 #endif  #endif
 static char tmp_sum[MAX_DIGEST_LEN];  static char tmp_sum[MAX_DIGEST_LEN];
   
   struct file_list the_fattr_list;
   
 static char empty_sum[MAX_DIGEST_LEN];  static char empty_sum[MAX_DIGEST_LEN];
 static int flist_count_offset; /* for --delete --progress */  static int flist_count_offset; /* for --delete --progress */
 static int dir_count = 0;  static int dir_count = 0;
Line 287  static int is_excluded(const char *fname, int is_dir,  Line 290  static int is_excluded(const char *fname, int is_dir, 
         return 0;          return 0;
 }  }
   
   static int fattr_compare(struct file_struct **file1, struct file_struct **file2)
   {
           struct file_struct *f1 = *file1;
           struct file_struct *f2 = *file2;
           int64 len1 = F_LENGTH(f1), len2 = F_LENGTH(f2);
           int diff;
   
           if (!f1->basename || !S_ISREG(f1->mode) || !len1) {
                   if (!f2->basename || !S_ISREG(f2->mode) || !len2)
                           return 0;
                   return 1;
           }
           if (!f2->basename || !S_ISREG(f2->mode) || !len2)
                   return -1;
   
           /* Don't use diff for values that are longer than an int. */
           if (len1 != len2)
                   return len1 < len2 ? -1 : 1;
   
           if (always_checksum) {
                   diff = u_memcmp(F_SUM(f1), F_SUM(f2), checksum_len);
                   if (diff)
                           return diff;
           } else if (f1->modtime != f2->modtime)
                   return f1->modtime < f2->modtime ? -1 : 1;
   
           diff = u_strcmp(f1->basename, f2->basename);
           if (diff)
                   return diff;
   
           if (f1->dirname == f2->dirname)
                   return 0;
           if (!f1->dirname)
                   return -1;
           if (!f2->dirname)
                   return 1;
           return u_strcmp(f1->dirname, f2->dirname);
   }
   
 static void send_directory(int f, struct file_list *flist,  static void send_directory(int f, struct file_list *flist,
                            char *fbuf, int len, int flags);                             char *fbuf, int len, int flags);
   
Line 2426  struct file_list *recv_file_list(int f) Line 2468  struct file_list *recv_file_list(int f)
                 recv_id_list(f, flist);                  recv_id_list(f, flist);
   
         flist_sort_and_clean(flist, relative_paths);          flist_sort_and_clean(flist, relative_paths);
   
           if (detect_renamed) {
                   int j = flist->used;
                   the_fattr_list.used = j;
                   the_fattr_list.files = new_array(struct file_struct *, j);
                   if (!the_fattr_list.files)
                           out_of_memory("recv_file_list");
                   memcpy(the_fattr_list.files, flist->files,
                          j * sizeof (struct file_struct *));
                   qsort(the_fattr_list.files, j,
                         sizeof the_fattr_list.files[0], (int (*)())fattr_compare);
                   the_fattr_list.low = 0;
                   while (j-- > 0) {
                           struct file_struct *fp = the_fattr_list.files[j];
                           if (fp->basename && S_ISREG(fp->mode) && F_LENGTH(fp))
                                   break;
                   }
                   the_fattr_list.high = j;
           }
   
         if (protocol_version < 30) {          if (protocol_version < 30) {
                 /* Recv the io_error flag */                  /* Recv the io_error flag */

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.1.2.1


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>