save some more memory by only allocating the checksum when needed

This commit is contained in:
Andrew Tridgell
1998-03-23 07:25:21 +00:00
parent e7ebc36c70
commit 2d0bb8eb0f
2 changed files with 8 additions and 3 deletions

View File

@@ -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);
}

View File

@@ -223,7 +223,7 @@ struct file_struct {
char *dirname;
char *basedir;
char *link;
char sum[MD4_SUM_LENGTH];
char *sum;
};
struct file_list {