]> git.sesse.net Git - vlc/blobdiff - modules/access/dvdread.c
Fix [10fcb9f9c3c73d13340c0bd4153fc4c9c87b7186] (win doesn't have setenv).
[vlc] / modules / access / dvdread.c
index 43b0ee43a5dbab8ce5d534ab92d16d5aaba244ee..a918dc95589b5c0486705457ff7ae8fe59ba9793 100644 (file)
@@ -222,13 +222,15 @@ static int Open( vlc_object_t *p_this )
         psz_name[2] == '\\' && psz_name[3] == '\0' ) psz_name[2] = '\0';
 #endif
 
-    /* Override environment variable DVDCSS_METHOD with config option
-     * (FIXME: this creates a small memory leak) */
+    /* Override environment variable DVDCSS_METHOD with config option */
     psz_dvdcss_env = config_GetPsz( p_demux, "dvdread-css-method" );
     if( psz_dvdcss_env && *psz_dvdcss_env )
+#ifdef HAVE_SETENV
+        setenv( "DVDCSS_METHOD", psz_dvdcss_env, 1 );
+#else
     {
+        /* FIXME: this create a small memory leak */
         char *psz_env;
-
         psz_env = malloc( strlen("DVDCSS_METHOD=") +
                           strlen( psz_dvdcss_env ) + 1 );
         if( !psz_env )
@@ -236,11 +238,10 @@ static int Open( vlc_object_t *p_this )
             free( psz_dvdcss_env );
             return VLC_ENOMEM;
         }
-
         sprintf( psz_env, "%s%s", "DVDCSS_METHOD=", psz_dvdcss_env );
-
         putenv( psz_env );
     }
+#endif
     free( psz_dvdcss_env );
 
     /* Open dvdread */