diff options
Diffstat (limited to '')
-rw-r--r-- | src/cmdline.c | 5 | ||||
-rw-r--r-- | src/ls.c | 20 | ||||
-rw-r--r-- | src/ls.h | 6 |
3 files changed, 31 insertions, 0 deletions
diff --git a/src/cmdline.c b/src/cmdline.c index b0cdbfb2f..e37cea737 100644 --- a/src/cmdline.c +++ b/src/cmdline.c @@ -23,6 +23,7 @@ #include "decoder_list.h" #include "config.h" #include "audioOutput.h" +#include "ls.h" #ifdef ENABLE_ARCHIVE #include "archive_list.h" @@ -63,6 +64,10 @@ static void version(void) archive_plugin_print_all_suffixes(stdout); #endif + puts("\n" + "Supported protocols:\n"); + print_supported_uri_schemes_to_fp(stdout); + exit(EXIT_SUCCESS); } @@ -24,6 +24,12 @@ #include <assert.h> #include <string.h> + +/** + * file:// is not included in remoteUrlPrefixes, the connection method + * is detected at runtime and displayed as a urlhandler if the client is + * connected by IPC socket. + */ static const char *remoteUrlPrefixes[] = { #ifdef HAVE_CURL "http://", @@ -40,6 +46,20 @@ static const char *remoteUrlPrefixes[] = { NULL }; +void print_supported_uri_schemes_to_fp(FILE *fp) +{ + const char **prefixes = remoteUrlPrefixes; + +#ifdef HAVE_UN + fprintf(fp, "file:// "); +#endif + while (*prefixes) { + fprintf(fp, "%s ", *prefixes); + prefixes++; + } + puts("\n"); +} + void print_supported_uri_schemes(struct client *client) { const char **prefixes = remoteUrlPrefixes; @@ -20,6 +20,7 @@ #define MPD_LS_H #include <stdbool.h> +#include <stdio.h> struct client; @@ -36,4 +37,9 @@ bool uri_supported_scheme(const char *url); */ void print_supported_uri_schemes(struct client *client); +/** + * Send a list of supported URI schemes to a file pointer. + */ +void print_supported_uri_schemes_to_fp(FILE *fp); + #endif |