diff options
| author | Junio C Hamano <gitster@pobox.com> | 2009-06-21 21:14:09 -0700 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2009-06-21 21:14:09 -0700 |
| commit | 44fb185963d42bb1dd6f1b3ea690d2a8f3c4edbc (patch) | |
| tree | e416edac27adfd1cf790f2aaa493b0e61a26d10f /delta.h | |
| parent | 037e9d5b1575d7ede05b50c317d9d88258556d84 (diff) | |
| parent | 48fb7deb5bbd87933e7d314b73d7c1b52667f80f (diff) | |
| download | git-44fb185963d42bb1dd6f1b3ea690d2a8f3c4edbc.tar.gz | |
Merge branch 'lt/maint-unsigned-left-shift' into maint
* lt/maint-unsigned-left-shift:
Fix big left-shifts of unsigned char
Diffstat (limited to 'delta.h')
| -rw-r--r-- | delta.h | 5 |
1 files changed, 2 insertions, 3 deletions
@@ -90,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; |
