X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=delta.h;h=b9d333dd5a1c64ab35159ed608cf942951504f84;hb=75b9a8a6d5aee29b1d0d03935531081e6180c0db;hp=7b3f86d85f71e47d11c40a4abbcd9d9f499a6636;hpb=75c3a5ccdf114b5485e4828db1923bf4a35b19e2;p=git.git diff --git a/delta.h b/delta.h index 7b3f86d85..b9d333dd5 100644 --- a/delta.h +++ b/delta.h @@ -23,6 +23,13 @@ create_delta_index(const void *buf, unsigned long bufsize); */ 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 * @@ -83,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;