From 2d0bb8eb0fb3d11445ab2a9657130145eaa8383e Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Mon, 23 Mar 1998 07:25:21 +0000 Subject: [PATCH] save some more memory by only allocating the checksum when needed --- flist.c | 9 +++++++-- rsync.h | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/flist.c b/flist.c index d9f8e440..8226b21a 100644 --- a/flist.c +++ b/flist.c @@ -302,8 +302,11 @@ void receive_file_entry(struct file_struct **fptr, } #endif - if (always_checksum) - read_buf(f,file->sum,csum_length); + if (always_checksum) { + file->sum = (char *)malloc(MD4_SUM_LENGTH); + if (!file->sum) out_of_memory("md4 sum"); + read_buf(f,file->sum,csum_length); + } last_mode = file->mode; last_rdev = file->rdev; @@ -395,6 +398,8 @@ static struct file_struct *make_file(char *fname) #endif if (always_checksum && S_ISREG(st.st_mode)) { + file->sum = (char *)malloc(MD4_SUM_LENGTH); + if (!file->sum) out_of_memory("md4 sum"); file_checksum(fname,file->sum,st.st_size); } diff --git a/rsync.h b/rsync.h index 2ee5e03f..d8c0d68a 100644 --- a/rsync.h +++ b/rsync.h @@ -223,7 +223,7 @@ struct file_struct { char *dirname; char *basedir; char *link; - char sum[MD4_SUM_LENGTH]; + char *sum; }; struct file_list { -- 2.34.1