From: Antoine Cellerier Date: Tue, 22 Dec 2009 10:08:59 +0000 (+0100) Subject: Probably fix LoadMessages() on windows. (Untested ... I'm not even sure that the... X-Git-Tag: 1.1.0-ff~1795 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=4c5f93c1dd02cd2d79102c256f43cff4c7f9cb99;p=vlc Probably fix LoadMessages() on windows. (Untested ... I'm not even sure that the config is initialised when we're called. But that shouldn't matter, we'll just fallback to the default data directory) --- diff --git a/src/libvlc.c b/src/libvlc.c index aa512d2b23..72f455a8a7 100644 --- a/src/libvlc.c +++ b/src/libvlc.c @@ -210,7 +210,7 @@ void vlc_release (gc_object_t *p_gc) ( defined( HAVE_GETTEXT ) || defined( HAVE_INCLUDED_GETTEXT ) ) static void SetLanguage ( char const * ); #endif -static inline int LoadMessages (void); +static inline int LoadMessages ( libvlc_int_t * ); static int GetFilenames ( libvlc_int_t *, int, const char *[] ); static void Help ( libvlc_int_t *, char const *psz_help_name ); static void Usage ( libvlc_int_t *, char const *psz_search ); @@ -315,7 +315,7 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc, /* * Support for gettext */ - LoadMessages (); + LoadMessages( p_libvlc ); /* Initialize the module bank and load the configuration of the * main module. We need to do this at this stage to be able to display @@ -1235,7 +1235,7 @@ static void SetLanguage ( const char *psz_lang ) #endif -static inline int LoadMessages (void) +static inline int LoadMessages (libvlc_int_t *p_libvlc) { #if defined( ENABLE_NLS ) \ && ( defined( HAVE_GETTEXT ) || defined( HAVE_INCLUDED_GETTEXT ) ) @@ -1243,11 +1243,16 @@ static inline int LoadMessages (void) #if !defined( __APPLE__ ) && !defined( WIN32 ) && !defined( SYS_BEOS ) static const char psz_path[] = LOCALEDIR; #else + char *psz_datapath = config_GetDataDir (p_libvlc); char psz_path[1024]; if (snprintf (psz_path, sizeof (psz_path), "%s" DIR_SEP "%s", - config_GetDataDir(), "locale") + psz_datapath, "locale") >= (int)sizeof (psz_path)) + { + free (psz_datapath); return -1; + } + free (psz_datapath); #endif if (bindtextdomain (PACKAGE_NAME, psz_path) == NULL)