gst/matroska/ebml-read.c: Can't just replace 1LL with 1L here just because MSVC doesn...
authorTim-Philipp Müller <tim@centricular.net>
Sun, 9 Apr 2006 13:52:03 +0000 (13:52 +0000)
committerTim-Philipp Müller <tim@centricular.net>
Sun, 9 Apr 2006 13:52:03 +0000 (13:52 +0000)
Original commit message from CVS:
* gst/matroska/ebml-read.c: (gst_ebml_read_sint):
Can't just replace 1LL with 1L here just because MSVC doesn't
support it, as it might lead to incorrect results when doing the
bitshifting here. Using GLib's G_GUINT64_CONSTANT() macro to
force a 64-bit constant in a way that all compilers are happy with.

ChangeLog
gst/matroska/ebml-read.c

index 30c6714c71cda5c208495a4e91dafa781f2e8a2f..76a98ef5d0fe10272b468f14685fbe749436da6e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
+
+       * gst/matroska/ebml-read.c: (gst_ebml_read_sint):
+         Can't just replace 1LL with 1L here just because MSVC doesn't
+         support it, as it might lead to incorrect results when doing the
+         bitshifting here. Using GLib's G_GUINT64_CONSTANT() macro to
+         force a 64-bit constant in a way that all compilers are happy with.
+
 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
 
        * ext/aalib/gstaasink.c: (gst_aasink_class_init):
index 24f0f3f69fab2cc3a30f1fff2092cbd3066abd19..10c3512353417ee7c8d6ac30adf283dd4ee5b10e 100644 (file)
@@ -507,7 +507,7 @@ gst_ebml_read_sint (GstEbmlRead * ebml, guint32 * id, gint64 * num)
 
   /* make signed */
   if (negative) {
-    *num = *num - (1L << ((8 * size) - 1));
+    *num = *num - (G_GUINT64_CONSTANT (1) << ((8 * size) - 1));
   }
 
   gst_buffer_unref (buf);