summary refs log tree commit diff
path: root/mico-dump.c
diff options
context:
space:
mode:
Diffstat (limited to 'mico-dump.c')
-rw-r--r--mico-dump.c9
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