]> git.sesse.net Git - vlc/blobdiff - bin/cachegen.c
direct3d11: code cleaning and typos
[vlc] / bin / cachegen.c
index e73e4a5734e2879f168f7d17773529dcbe325dc9..8e72bf40b27d9638ee9284b49506e2e81788ce21 100644 (file)
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdbool.h>
-
-#ifdef HAVE_SETLOCALE
-# include <locale.h>
-#endif
-
 #ifdef HAVE_GETOPT_H
 # include <getopt.h>
 #endif
+#ifdef WIN32
+# include <windows.h>
+#endif
 
 static void version (void)
 {
@@ -49,12 +47,11 @@ static void usage (const char *path)
             path);
 }
 
-/* Explicit HACK */
-extern void LocaleFree (const char *);
-extern char *FromLocale (const char *);
-
 int main (int argc, char *argv[])
 {
+#ifdef WIN32
+    SetErrorMode(SEM_FAILCRITICALERRORS);
+#endif
     static const struct option opts[] =
     {
         { "force",      no_argument,       NULL, 'f' },
@@ -63,10 +60,6 @@ int main (int argc, char *argv[])
         { NULL,         no_argument,       NULL, '\0'}
     };
 
-#ifdef HAVE_SETLOCALE
-    setlocale (LC_CTYPE, ""); /* needed by FromLocale() */
-#endif
-
     int c;
     bool force = false;
 
@@ -89,30 +82,25 @@ int main (int argc, char *argv[])
 
     for (int i = optind; i < argc; i++)
     {
-        /* Note that FromLocale() can be used before libvlc is initialized */
-        const char *path = FromLocale (argv[i]);
-        char *arg;
+        const char *path = argv[i];
 
-        if (asprintf (&arg, "--plugin-path=%s", path) == -1)
+        if (setenv ("VLC_PLUGIN_PATH", path, 1))
             abort ();
 
-        const char *vlc_argv[5];
+        const char *vlc_argv[4];
         int vlc_argc = 0;
 
         vlc_argv[vlc_argc++] = "--quiet";
         if (force)
             vlc_argv[vlc_argc++] = "--reset-plugins-cache";
-        vlc_argv[vlc_argc++] = arg;
         vlc_argv[vlc_argc++] = "--"; /* end of options */
         vlc_argv[vlc_argc] = NULL;
 
         libvlc_instance_t *vlc = libvlc_new (vlc_argc, vlc_argv);
         if (vlc != NULL)
             libvlc_release (vlc);
-        free (arg);
         if (vlc == NULL)
             fprintf (stderr, "No plugins in %s\n", path);
-        LocaleFree (path);
         if (vlc == NULL)
             return 1;
     }