util/UriExtract: migrate uri_get_scheme() to std::string_view

This commit is contained in:
Max Kellermann 2020-03-13 18:11:29 +01:00
parent 6876d160cf
commit 9a164668f2
2 changed files with 10 additions and 10 deletions

View File

@ -82,17 +82,17 @@ uri_after_scheme(const char *uri) noexcept
bool bool
uri_has_scheme(const char *uri) noexcept uri_has_scheme(const char *uri) noexcept
{ {
return !uri_get_scheme(uri).IsNull(); return !uri_get_scheme(uri).empty();
} }
StringView std::string_view
uri_get_scheme(const char *uri) noexcept uri_get_scheme(std::string_view uri) noexcept
{ {
const char *end = strstr(uri, "://"); auto end = uri.find("://");
if (end == nullptr) if (end == std::string_view::npos)
return nullptr; return {};
return {uri, end}; return uri.substr(0, end);
} }
bool bool

View File

@ -32,7 +32,7 @@
#include "Compiler.h" #include "Compiler.h"
struct StringView; #include <string_view>
/** /**
* Checks whether the specified URI has a scheme in the form * Checks whether the specified URI has a scheme in the form
@ -46,8 +46,8 @@ uri_has_scheme(const char *uri) noexcept;
* Returns the scheme name of the specified URI, or an empty string. * Returns the scheme name of the specified URI, or an empty string.
*/ */
gcc_pure gcc_pure
StringView std::string_view
uri_get_scheme(const char *uri) noexcept; uri_get_scheme(std::string_view uri) noexcept;
gcc_pure gcc_pure
bool bool