]> git.sesse.net Git - vlc/blobdiff - src/libvlc.c
Prefer setenv to putenv (evenmore with local variables).
[vlc] / src / libvlc.c
index b10d13e1727fbadabe2ac253f19a4423c4894596..411ce92e9bf3ae8f68582aca880d705e50806c7d 100644 (file)
@@ -962,7 +962,7 @@ int libvlc_InternalInit( libvlc_int_t *p_libvlc, int i_argc,
     {
         playlist_t *p_playlist = pl_Yield( p_libvlc );
         playlist_AddExt( p_playlist, val.psz_string, NULL, PLAYLIST_INSERT, 0,
-                         -1, NULL, 0, true, false );
+                         -1, NULL, 0, true, pl_Unlocked );
         pl_Release( p_libvlc );
     }
     free( val.psz_string );
@@ -1212,10 +1212,7 @@ static void SetLanguage ( const char *psz_lang )
      * the language at runtime under eg. Windows. Beware that this
      * makes the environment unconsistent when libvlc is unloaded and
      * should probably be moved to a safer place like vlc.c. */
-    static char psz_lcall[20];
-    snprintf( psz_lcall, 19, "LC_ALL=%s", psz_lang );
-    psz_lcall[19] = '\0';
-    putenv( psz_lcall );
+    setenv( "LC_ALL", psz_lang, 1 );
 #endif
 
     setlocale( LC_ALL, psz_lang );
@@ -1232,8 +1229,8 @@ static inline int LoadMessages (void)
     static const char psz_path[] = LOCALEDIR;
 #else
     char psz_path[1024];
-    if (snprintf (psz_path, sizeof (psz_path), "%s/%s",
-                  vlc_global()->psz_vlcpath, "locale")
+    if (snprintf (psz_path, sizeof (psz_path), "%s" DIR_SEP "%s",
+                  config_GetDataDir(), "locale")
                      >= (int)sizeof (psz_path))
         return -1;
 
@@ -1295,7 +1292,7 @@ static int GetFilenames( libvlc_int_t *p_vlc, int i_argc, const char *ppsz_argv[
         playlist_t *p_playlist = pl_Yield( p_vlc );
         playlist_AddExt( p_playlist, ppsz_argv[i_opt], NULL, PLAYLIST_INSERT,
                          0, -1, ( i_options ? &ppsz_argv[i_opt + 1] : NULL ),
-                         i_options, true, false );
+                         i_options, true, pl_Unlocked );
         pl_Release( p_vlc );
     }