diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | gst/matroska/ebml-read.c | 2 |
2 files changed, 9 insertions, 1 deletions
@@ -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): diff --git a/gst/matroska/ebml-read.c b/gst/matroska/ebml-read.c index 24f0f3f6..10c35123 100644 --- a/gst/matroska/ebml-read.c +++ b/gst/matroska/ebml-read.c @@ -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); |