diff options
Diffstat (limited to 'mico-dump.c')
-rw-r--r-- | mico-dump.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/mico-dump.c b/mico-dump.c index 982c1b4..ce13a3e 100644 --- a/mico-dump.c +++ b/mico-dump.c @@ -61,7 +61,7 @@ getsigned(struct bitreader *input, int count) return bits; } -static int32_t +static int64_t get1(struct bitreader *input) { if (getbits1_msb(input, 1) == 0) @@ -72,7 +72,12 @@ get1(struct bitreader *input) return getsigned(input, 9); if (getbits1_msb(input, 1) == 0) return getsigned(input, 12); - return getsigned(input, 32); + + int64_t v = getsigned(input, 32); + v <<= 32; + v |= getbits1_msb(input, 32); + + return v; } int |