release->references = 1;
// Determine the ptr
- ptr = ( void * )release + sizeof( struct mlt_release_s );
+ ptr = ( char * )release + sizeof( struct mlt_release_s );
}
}
if ( ptr != NULL )
{
// Get the release pointer
- mlt_release that = ptr - sizeof( struct mlt_release_s );
+ mlt_release that = ( void * )(( char * )ptr - sizeof( struct mlt_release_s ));
// Get the pool
mlt_pool this = that->pool;
if ( ptr != NULL )
{
// Free the release itself
- free( ptr - sizeof( struct mlt_release_s ) );
+ free( ( char * )ptr - sizeof( struct mlt_release_s ) );
}
}
while ( ( release = mlt_deque_pop_back( this->stack ) ) != NULL )
{
// We'll free this item now
- free( release - sizeof( struct mlt_release_s ) );
+ free( ( char * )release - sizeof( struct mlt_release_s ) );
}
// We can now close the stack
if ( ptr != NULL )
{
// Get the release pointer
- mlt_release that = ptr - sizeof( struct mlt_release_s );
+ mlt_release that = ( void * )(( char * )ptr - sizeof( struct mlt_release_s ));
// If the current pool this ptr belongs to is big enough
if ( size > that->pool->size - sizeof( struct mlt_release_s ) )
// We'll free all unused items now
while ( ( release = mlt_deque_pop_back( this->stack ) ) != NULL )
- free( release - sizeof( struct mlt_release_s ) );
+ free( ( char * )release - sizeof( struct mlt_release_s ) );
// Unlock the pool
pthread_mutex_unlock( &this->lock );