
We want to be able to check their integrity later, and putting the sha1-sum of the contents at the end is a good thing. The writing routines are generic, so we could try to re-use them for the index file, instead of having the same logic duplicated. Update unpack-objects to know about the extra 20 bytes at the end of the index.
18 lines
417 B
C
18 lines
417 B
C
#ifndef CSUM_FILE_H
|
|
#define CSUM_FILE_H
|
|
|
|
/* A SHA1-protected file */
|
|
struct sha1file {
|
|
int fd, error;
|
|
unsigned long offset;
|
|
SHA_CTX ctx;
|
|
unsigned char buffer[8192];
|
|
};
|
|
|
|
extern struct sha1file *sha1create(const char *fmt, ...);
|
|
extern int sha1close(struct sha1file *);
|
|
extern int sha1write(struct sha1file *, void *, unsigned int);
|
|
extern int sha1write_compressed(struct sha1file *, void *, unsigned int);
|
|
|
|
#endif
|