Some preliminary changes got mixed in with the last commit, so
authorWayne Davison <wayned@samba.org>
Mon, 17 Jan 2005 23:44:16 +0000 (23:44 +0000)
committerWayne Davison <wayned@samba.org>
Mon, 17 Jan 2005 23:44:16 +0000 (23:44 +0000)
fixed two small problems in the last check-in.

fuzzy.diff

index 73d6b74..c59659b 100644 (file)
@@ -5,7 +5,7 @@ Lightly tested.
 Be sure to run "make proto" before "make".
 
 --- orig/generator.c   2005-01-17 23:11:45
-+++ generator.c        2005-01-16 02:16:38
++++ generator.c        2005-01-17 23:38:46
 @@ -44,6 +44,7 @@ extern int size_only;
  extern OFF_T max_size;
  extern int io_timeout;
@@ -14,7 +14,7 @@ Be sure to run "make proto" before "make".
  extern int always_checksum;
  extern char *partial_dir;
  extern char *basis_dir[];
-@@ -242,6 +243,83 @@ static void generate_and_send_sums(int f
+@@ -242,6 +243,85 @@ static void generate_and_send_sums(int f
  }
  
  
@@ -59,6 +59,8 @@ Be sure to run "make proto" before "make".
 +              rsyserr(FERROR, errno, "recv_generator opendir(%s)", dirname);
 +              return -1;
 +      }
++      if (slash)
++              *slash = '/';
 +
 +      /* Get final extension, eg. .gz; never full basename though. */
 +      for (ext = basename; *ext == '.'; ext++) {}
@@ -87,7 +89,7 @@ Be sure to run "make proto" before "make".
 +
 +      /* Found a candidate. */
 +      if (bestscore != 0) {
-+              strlcpy(basename, MAXPATHLEN - (basename - buf), bestname);
++              strlcpy(basename, bestname, MAXPATHLEN - (basename - buf));
 +              if (verbose > 2)
 +                      rprintf(FINFO, "fuzzy match %s->%s\n", fname, buf);
 +              return link_stat(buf, st_ptr, 0);
@@ -98,7 +100,7 @@ Be sure to run "make proto" before "make".
  
  /*
   * Acts on file number @p i from @p flist, whose name is @p fname.
-@@ -496,6 +574,15 @@ static void recv_generator(char *fname, 
+@@ -496,6 +576,15 @@ static void recv_generator(char *fname, 
        } else
                partialptr = NULL;
  
@@ -114,7 +116,7 @@ Be sure to run "make proto" before "make".
        if (statret == -1) {
                if (preserve_hard_links && hard_link_check(file, HL_SKIP))
                        return;
-@@ -524,6 +611,8 @@ static void recv_generator(char *fname, 
+@@ -524,6 +613,8 @@ static void recv_generator(char *fname, 
  
        if (!compare_dest && fnamecmp_type <= FNAMECMP_BASIS_DIR_HIGH)
                ;
@@ -123,7 +125,7 @@ Be sure to run "make proto" before "make".
        else if (unchanged_file(fnamecmp, file, &st)) {
                if (fnamecmp_type == FNAMECMP_FNAME)
                        set_perms(fname, file, &st, PERMS_REPORT);
-@@ -598,8 +687,24 @@ notify_others:
+@@ -598,8 +689,24 @@ notify_others:
        write_int(f_out, i);
        if (protocol_version >= 29 && inplace && !read_batch)
                write_byte(f_out, fnamecmp_type);