Fixed _to_uint method.
authorbarbieri <barbieri@gmail.com>
Fri, 15 Feb 2008 20:37:48 +0000 (20:37 +0000)
committerbarbieri <barbieri@gmail.com>
Fri, 15 Feb 2008 20:37:48 +0000 (20:37 +0000)
lightmediascanner/src/plugins/id3/id3.c

index c1b6e8a..63849dc 100644 (file)
@@ -228,11 +228,12 @@ static unsigned int
 _to_uint(const char *data, int data_size)
 {
     unsigned int sum = 0;
-    int last = data_size > 4 ? 3 : data_size - 1;
-    int i;
+    unsigned int last, i;
+
+    last = data_size > 4 ? 3 : data_size - 1;
 
     for (i = 0; i <= last; i++)
-        sum |= (data[i] & 0x7f) << ((last - i) * 7);
+        sum |= ((unsigned char) data[i]) << ((last - i) * 8);
 
     return sum;
 }