diff options
-rw-r--r-- | checksum.c | 4 | ||||
-rw-r--r-- | rsync.h | 4 |
2 files changed, 5 insertions, 3 deletions
@@ -104,7 +104,7 @@ const EVP_MD *xfer_sum_evp_md; int xfer_sum_len; struct name_num_item *file_sum_nni; /* used for the pre-transfer --checksum computations */ const EVP_MD *file_sum_evp_md; -int file_sum_len; +int file_sum_len, file_sum_extra_cnt; #ifdef USE_OPENSSL EVP_MD_CTX *ctx_evp = NULL; @@ -197,6 +197,8 @@ void parse_checksum_choice(int final_call) xfer_sum_evp_md = csum_evp_md(xfer_sum_nni); file_sum_evp_md = csum_evp_md(file_sum_nni); + file_sum_extra_cnt = (file_sum_len + EXTRA_LEN - 1) / EXTRA_LEN; + if (xfer_sum_nni->num == CSUM_NONE) whole_file = 1; @@ -826,7 +826,7 @@ extern int uid_ndx; extern int gid_ndx; extern int acls_ndx; extern int xattrs_ndx; -extern int file_sum_len; +extern int file_sum_extra_cnt; #ifdef USE_FLEXIBLE_ARRAY #define FILE_STRUCT_LEN (sizeof (struct file_struct)) @@ -837,7 +837,7 @@ extern int file_sum_len; #define DEV_EXTRA_CNT 2 #define DIRNODE_EXTRA_CNT 3 #define EXTRA64_CNT ((sizeof (union file_extras64) + EXTRA_LEN - 1) / EXTRA_LEN) -#define SUM_EXTRA_CNT ((file_sum_len + EXTRA_LEN - 1) / EXTRA_LEN) +#define SUM_EXTRA_CNT file_sum_extra_cnt #define REQ_EXTRA(f,ndx) ((union file_extras*)(f) - (ndx)) #define OPT_EXTRA(f,bump) ((union file_extras*)(f) - file_extra_cnt - 1 - (bump)) |