X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=delta.h;h=b9d333dd5a1c64ab35159ed608cf942951504f84;hb=50c94032844bb184cdeff7779be3b6a23e04d312;hp=727ae30e9eb973b2bd4a512be78041fee40fa039;hpb=975bf9cf5ad5d440f98f464ae8124609a4835ce1;p=git.git diff --git a/delta.h b/delta.h index 727ae30e9..b9d333dd5 100644 --- a/delta.h +++ b/delta.h @@ -18,9 +18,18 @@ create_delta_index(const void *buf, unsigned long bufsize); /* * free_delta_index: free the index created by create_delta_index() + * + * Given pointer must be what create_delta_index() returned, or NULL. */ extern void free_delta_index(struct delta_index *index); +/* + * sizeof_delta_index: returns memory usage of delta index + * + * Given pointer must be what create_delta_index() returned, or NULL. + */ +extern unsigned long sizeof_delta_index(struct delta_index *index); + /* * create_delta: create a delta from given index for the given buffer * @@ -81,12 +90,11 @@ static inline unsigned long get_delta_hdr_size(const unsigned char **datap, const unsigned char *top) { const unsigned char *data = *datap; - unsigned char cmd; - unsigned long size = 0; + unsigned long cmd, size = 0; int i = 0; do { cmd = *data++; - size |= (cmd & ~0x80) << i; + size |= (cmd & 0x7f) << i; i += 7; } while (cmd & 0x80 && data < top); *datap = data;