From 5ca654301b5f959219ab92827badfa6d514402de Mon Sep 17 00:00:00 2001 From: wm4 Date: Sat, 10 Sep 2016 15:28:50 +0200 Subject: stream_cb: don't add "*://" to protocol list --list-protocol was printing a *:// entry, which looked strange at best. The "*" protocol was used to always match everything, so stream_cb.c could hook in custom protocols with a prefix chosen by the API user. Change it instead so that an empty protocol list means "match all", which also gets rid of the special-cased "*" entry. --- stream/stream.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'stream/stream.c') diff --git a/stream/stream.c b/stream/stream.c index d5cf747b1e..c936c5c77e 100644 --- a/stream/stream.c +++ b/stream/stream.c @@ -190,9 +190,6 @@ static stream_t *new_stream(void) static const char *match_proto(const char *url, const char *proto) { - if (strcmp(proto, "*") == 0) - return url; - int l = strlen(proto); if (l > 0) { if (strncasecmp(url, proto, l) == 0 && strncmp("://", url + l, 3) == 0) @@ -212,7 +209,7 @@ static int open_internal(const stream_info_t *sinfo, const char *url, int flags, if (!sinfo->is_network && (flags & STREAM_NETWORK_ONLY)) return STREAM_UNSAFE; - const char *path = NULL; + const char *path = url; for (int n = 0; sinfo->protocols && sinfo->protocols[n]; n++) { path = match_proto(url, sinfo->protocols[n]); if (path) -- cgit v1.2.3