fprintf( stderr, "%s, %s: failed to dlopen %s\n", __FILE__, __FUNCTION__, object_name );
}
}
+
+ mlt_properties_close( dir );
return this;
}
return metadata;
}
-static const char *getenv_locale()
+static char *getenv_locale()
{
char *s = getenv( "LANGUAGE" );
if ( s && s[0] )
if ( languages )
return languages;
- char *locale = strdup( getenv_locale() );
languages = mlt_properties_new();
+ char *locale = getenv_locale();
if ( locale )
{
+ locale = strdup( locale );
mlt_tokeniser tokeniser = mlt_tokeniser_init();
int count = mlt_tokeniser_parse_new( tokeniser, locale, ":" );
if ( count )
{
mlt_properties_set( languages, "0", "en" );
}
+ free( locale );
mlt_tokeniser_close( tokeniser );
}
else
{
mlt_properties_set( languages, "0", "en" );
}
- free( locale );
mlt_properties_set_data( &self->parent, "languages", languages, 0, ( mlt_destructor )mlt_properties_close, NULL );
return languages;
}