aboutsummaryrefslogtreecommitdiffstats
path: root/src/util
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2013-12-15 17:05:18 +0100
committerMax Kellermann <max@duempel.org>2013-12-15 17:06:10 +0100
commite1ec65bd53db811bfc66d92346519c43a06b65c7 (patch)
treead00fa0b711feefde3ab68c34a77c6f3298e7f83 /src/util
parent65b8e52d802fa42fcdd95457cfc2ecc8ecbc3793 (diff)
downloadmpd-e1ec65bd53db811bfc66d92346519c43a06b65c7.tar.gz
mpd-e1ec65bd53db811bfc66d92346519c43a06b65c7.tar.xz
mpd-e1ec65bd53db811bfc66d92346519c43a06b65c7.zip
UriUtil: add function uri_get_scheme()
Replaces g_uri_parse_scheme().
Diffstat (limited to 'src/util')
-rw-r--r--src/util/UriUtil.cxx10
-rw-r--r--src/util/UriUtil.hxx7
2 files changed, 17 insertions, 0 deletions
diff --git a/src/util/UriUtil.cxx b/src/util/UriUtil.cxx
index 7997bd5c9..89d2a473a 100644
--- a/src/util/UriUtil.cxx
+++ b/src/util/UriUtil.cxx
@@ -27,6 +27,16 @@ bool uri_has_scheme(const char *uri)
return strstr(uri, "://") != nullptr;
}
+std::string
+uri_get_scheme(const char *uri)
+{
+ const char *end = strstr(uri, "://");
+ if (end == nullptr)
+ end = uri;
+
+ return std::string(uri, end);
+}
+
/* suffixes should be ascii only characters */
const char *
uri_get_suffix(const char *uri)
diff --git a/src/util/UriUtil.hxx b/src/util/UriUtil.hxx
index 78d0a6bff..20e468103 100644
--- a/src/util/UriUtil.hxx
+++ b/src/util/UriUtil.hxx
@@ -31,6 +31,13 @@
gcc_pure
bool uri_has_scheme(const char *uri);
+/**
+ * Returns the scheme name of the specified URI, or an empty string.
+ */
+gcc_pure
+std::string
+uri_get_scheme(const char *uri);
+
gcc_pure
const char *
uri_get_suffix(const char *uri);