diff -r 67ba74938b15 -r f77c8d8331ca mercurial/parsers.c --- a/mercurial/parsers.c Mon Oct 20 14:52:58 2008 +0200 +++ b/mercurial/parsers.c Mon Oct 20 14:57:04 2008 +0200 @@ -301,12 +301,12 @@ unsigned int step; memcpy(decode, data, 64); - offset_flags = ntohl(*((uint32_t *) (decode + 4))); - if (n == 0) /* mask out version number for the first entry */ - offset_flags &= 0xFFFF; - else { + offset_flags = ntohl(*((uint32_t *) (decode + 4))); + if (n == 0) /* mask out version number for the first entry */ + offset_flags &= 0xFFFF; + else { uint32_t offset_high = ntohl(*((uint32_t *) decode)); - offset_flags |= ((uint64_t) offset_high) << 32; + offset_flags |= ((uint64_t) offset_high) << 32; } comp_len = ntohl(*((uint32_t *) (decode + 8)));