void ** pp_elems;
} vlc_array_t;
-static inline vlc_array_t * vlc_array_new( void )
-{
- return calloc( 1, sizeof(vlc_array_t) );
-
-}
-
static inline void vlc_array_init( vlc_array_t * p_array )
{
memset( p_array, 0, sizeof(vlc_array_t) );
memset( p_array, 0, sizeof(vlc_array_t) );
}
+static inline vlc_array_t * vlc_array_new( void )
+{
+ vlc_array_t * ret = (vlc_array_t *)malloc( sizeof(vlc_array_t) );
+ if( ret ) vlc_array_init( ret );
+ return ret;
+}
+
static inline void vlc_array_destroy( vlc_array_t * p_array )
{
+ if( !p_array )
+ return;
vlc_array_clear( p_array );
free( p_array );
}
int i_pos = DictHash( psz_key, p_dict->i_size );
struct vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos];
- if( p_entry && !p_entry->p_next )
- return p_entry->p_value;
-
if( !p_entry )
return kVLCDictionaryNotFound;
- /* Hash collision */
+ /* Make sure we return the right item. (Hash collision) */
do {
if( !strcmp( psz_key, p_entry->psz_key ) )
return p_entry->p_value;
ppsz_ret = (char**)malloc(sizeof(char *) * (count + 1));
assert( ppsz_ret );
-
+
count = 0;
for( i = 0; i < p_dict->i_size; i++ )
{
struct vlc_dictionary_t new_dict;
int i_new_size = ( (p_dict->i_size+2) * 3) / 2; /* XXX: this need tuning */
int i;
-
+
vlc_dictionary_init( &new_dict, i_new_size );
for( i = 0; i < p_dict->i_size; i++ )
{