[BACK]Return to hash.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / rsync

Diff for /src/usr.bin/rsync/hash.c between version 1.1 and 1.2

version 1.1, 2019/02/10 23:18:28 version 1.2, 2019/02/10 23:24:14
Line 32 
Line 32 
 uint32_t  uint32_t
 hash_fast(const void *buf, size_t len)  hash_fast(const void *buf, size_t len)
 {  {
         size_t           i = 0;          size_t                   i = 0;
         uint32_t         a = 0, /* part of a(k, l) */          uint32_t                 a = 0, /* part of a(k, l) */
                          b = 0; /* b(k, l) */                                   b = 0; /* b(k, l) */
         const signed char *dat = buf;          const signed char       *dat = buf;
   
         if (len > 4)          if (len > 4)
                 for ( ; i < len - 4; i += 4) {                  for ( ; i < len - 4; i += 4) {
                         b += 4 * (a + dat[i]) +                          b += 4 * (a + dat[i]) +
                               3 * dat[i + 1] +                              3 * dat[i + 1] +
                               2 * dat[i + 2] +                              2 * dat[i + 2] +
                                   dat[i + 3];                              dat[i + 3];
                         a += dat[i + 0] +                          a += dat[i + 0] +
                               dat[i + 1] +                              dat[i + 1] +
                               dat[i + 2] +                              dat[i + 2] +
                               dat[i + 3];                              dat[i + 3];
                 }                  }
   
         for ( ; i < len; i++) {          for ( ; i < len; i++) {

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2