summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim.muller@collabora.co.uk>2009-11-20 16:00:47 +0000
committerTim-Philipp Müller <tim.muller@collabora.co.uk>2009-11-20 16:14:54 +0000
commit022970e9f911da45215ae4faa4cf40d0bf1ddce2 (patch)
tree684509db15996c938c7864c891a5fcb0cbe909bd
parent43b157b775a4bce131ea6e8d8d140b4d53c30418 (diff)
bytewriter: fix compiler warning
Some gcc versions warn about bytewriter writing to memory accessed via a const guint8 pointer, despite our explicit cast to guint8 *. Work around that by using an intermediary variable. Fixes #598526.
-rw-r--r--libs/gst/base/gstbytewriter.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libs/gst/base/gstbytewriter.c b/libs/gst/base/gstbytewriter.c
index 7b5d3fa108..375c41055c 100644
--- a/libs/gst/base/gstbytewriter.c
+++ b/libs/gst/base/gstbytewriter.c
@@ -437,12 +437,15 @@ gst_byte_writer_ensure_free_space (GstByteWriter * writer, guint size)
gboolean \
gst_byte_writer_put_##name (GstByteWriter *writer, type val) \
{ \
+ guint8 *write_data; \
+ \
g_return_val_if_fail (writer != NULL, FALSE); \
\
if (G_UNLIKELY (!gst_byte_writer_ensure_free_space(writer, bits/8))) \
return FALSE; \
\
- write_func ((guint8 *) &writer->parent.data[writer->parent.byte], val); \
+ write_data = (guint8 *) writer->parent.data + writer->parent.byte; \
+ write_func (write_data, val); \
writer->parent.byte += bits/8; \
writer->parent.size = MAX (writer->parent.size, writer->parent.byte); \
\