From d1b5f6efa12de667a9a64233b4c3a3456a577fc5 Mon Sep 17 00:00:00 2001 From: reimar Date: Wed, 30 Sep 2009 07:27:43 +0000 Subject: Change grow_array argument from void ** to void *, this avoids a aliasing violation (thus making gcc 4.4.x compile the code correctly) and allows to get rid of some casts at the expense of making the code less clear. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29733 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/demux_mkv.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'libmpdemux/demux_mkv.c') diff --git a/libmpdemux/demux_mkv.c b/libmpdemux/demux_mkv.c index 627ac7cd44..3163f9b658 100644 --- a/libmpdemux/demux_mkv.c +++ b/libmpdemux/demux_mkv.c @@ -204,11 +204,12 @@ extern int dvdsub_id; /** * \brief ensures there is space for at least one additional element - * \param array array to grow + * \param arrayp array to grow * \param nelem current number of elements in array * \param elsize size of one array element */ -static void grow_array(void **array, int nelem, size_t elsize) { +static void grow_array(void *arrayp, int nelem, size_t elsize) { + void **array = arrayp; if (!(nelem & 31)) *array = realloc(*array, (nelem + 32) * elsize); } @@ -235,7 +236,7 @@ add_cluster_position (mkv_demuxer_t *mkv_d, uint64_t position) if (mkv_d->cluster_positions[i] == position) return; - grow_array((void **)&mkv_d->cluster_positions, mkv_d->num_cluster_pos, + grow_array(&mkv_d->cluster_positions, mkv_d->num_cluster_pos, sizeof(uint64_t)); mkv_d->cluster_positions[mkv_d->num_cluster_pos++] = position; } @@ -1079,7 +1080,7 @@ demux_mkv_read_cues (demuxer_t *demuxer) if (time != EBML_UINT_INVALID && track != EBML_UINT_INVALID && pos != EBML_UINT_INVALID) { - grow_array((void **)&mkv_d->indexes, mkv_d->num_indexes, sizeof(mkv_index_t)); + grow_array(&mkv_d->indexes, mkv_d->num_indexes, sizeof(mkv_index_t)); mkv_d->indexes[mkv_d->num_indexes].tnum = track; mkv_d->indexes[mkv_d->num_indexes].timecode = time; mkv_d->indexes[mkv_d->num_indexes].filepos =mkv_d->segment_start+pos; -- cgit v1.2.3