mirror of
https://code.videolan.org/videolan/vlc
synced 2024-09-04 09:11:33 +02:00
vlc-cache-gen: add --force option
This commit is contained in:
parent
0b220edc80
commit
5a477c259b
@ -25,6 +25,7 @@
|
||||
#include <vlc/vlc.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#ifdef HAVE_SETLOCALE
|
||||
# include <locale.h>
|
||||
@ -41,9 +42,11 @@ static void version (void)
|
||||
|
||||
static void usage (const char *path)
|
||||
{
|
||||
printf ("Usage: %s <path>\n"
|
||||
"Generate the LibVLC plugins cache "
|
||||
"for the specified plugins directory.\n", path);
|
||||
printf (
|
||||
"Usage: %s [-f] <path>\n"
|
||||
"Generate the LibVLC plugins cache for the specified plugins directory.\n"
|
||||
" -f, --force forcefully reset the plugin cache (if it exists)\n",
|
||||
path);
|
||||
}
|
||||
|
||||
/* Explicit HACK */
|
||||
@ -54,6 +57,7 @@ int main (int argc, char *argv[])
|
||||
{
|
||||
static const struct option opts[] =
|
||||
{
|
||||
{ "force", no_argument, NULL, 'f' },
|
||||
{ "help", no_argument, NULL, 'h' },
|
||||
{ "version", no_argument, NULL, 'V' },
|
||||
{ NULL, no_argument, NULL, '\0'}
|
||||
@ -64,9 +68,14 @@ int main (int argc, char *argv[])
|
||||
#endif
|
||||
|
||||
int c;
|
||||
while ((c = getopt_long (argc, argv, "hV", opts, NULL)) != -1)
|
||||
bool force = false;
|
||||
|
||||
while ((c = getopt_long (argc, argv, "fhV", opts, NULL)) != -1)
|
||||
switch (c)
|
||||
{
|
||||
case 'f':
|
||||
force = true;
|
||||
break;
|
||||
case 'h':
|
||||
usage (argv[0]);
|
||||
return 0;
|
||||
@ -87,14 +96,17 @@ int main (int argc, char *argv[])
|
||||
if (asprintf (&arg, "--plugin-path=%s", path) == -1)
|
||||
abort ();
|
||||
|
||||
const char *const vlc_argv[] = {
|
||||
"--ignore-config",
|
||||
"--quiet",
|
||||
"--no-media-library",
|
||||
arg,
|
||||
NULL,
|
||||
};
|
||||
size_t vlc_argc = sizeof (vlc_argv) / sizeof (vlc_argv[0]) - 1;
|
||||
const char *vlc_argv[7];
|
||||
int vlc_argc = 0;
|
||||
|
||||
vlc_argv[vlc_argc++] = "--ignore-config";
|
||||
vlc_argv[vlc_argc++] = "--quiet";
|
||||
vlc_argv[vlc_argc++] = "--no-media-library";
|
||||
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)
|
||||
|
Loading…
Reference in New Issue
Block a user