aboutsummaryrefslogtreecommitdiff
path: root/src/cmdline.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-11-07 15:46:45 +0100
committerMax Kellermann <max@duempel.org>2009-11-07 15:46:45 +0100
commit4624dfcb3077f9f45d49c4ce7a4ee1c98f7f8921 (patch)
treebf301f44dc574ac0c66b42aa9b90e2b057f9e9bc /src/cmdline.c
parent3546d931a1bc153ba1416ca837b4c00f1495d7e5 (diff)
decoder_list: moved print_all_decoders() to cmdline.c
Export the decoder_plugins array. The function decoder_plugin_print_all_decoders() it is UI specific and should not live in this backend library.
Diffstat (limited to 'src/cmdline.c')
-rw-r--r--src/cmdline.c23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/cmdline.c b/src/cmdline.c
index 5dd6b26d..695857d5 100644
--- a/src/cmdline.c
+++ b/src/cmdline.c
@@ -22,6 +22,7 @@
#include "log.h"
#include "conf.h"
#include "decoder_list.h"
+#include "decoder_plugin.h"
#include "config.h"
#include "output_list.h"
#include "ls.h"
@@ -44,6 +45,25 @@ cmdline_quark(void)
return g_quark_from_static_string("cmdline");
}
+static void
+print_all_decoders(FILE *fp)
+{
+ for (unsigned i = 0; decoder_plugins[i] != NULL; ++i) {
+ const struct decoder_plugin *plugin = decoder_plugins[i];
+ const char *const*suffixes;
+
+ fprintf(fp, "[%s]", plugin->name);
+
+ for (suffixes = plugin->suffixes;
+ suffixes != NULL && *suffixes != NULL;
+ ++suffixes) {
+ fprintf(fp, " %s", *suffixes);
+ }
+
+ fprintf(fp, "\n");
+ }
+}
+
G_GNUC_NORETURN
static void version(void)
{
@@ -56,8 +76,7 @@ static void version(void)
"\n"
"Supported decoders:\n");
- decoder_plugin_init_all();
- decoder_plugin_print_all_decoders(stdout);
+ print_all_decoders(stdout);
puts("\n"
"Supported outputs:\n");