From eab32f2e5d8114d08e392001f0004284267bebd5 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sat, 1 Nov 2014 12:45:47 +0100 Subject: util/UriUtil: add uri_get_suffix() overload that ignores query string --- src/util/UriUtil.cxx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/util/UriUtil.cxx') diff --git a/src/util/UriUtil.cxx b/src/util/UriUtil.cxx index fdca47c00..62977e91b 100644 --- a/src/util/UriUtil.cxx +++ b/src/util/UriUtil.cxx @@ -54,6 +54,23 @@ uri_get_suffix(const char *uri) return suffix; } +const char * +uri_get_suffix(const char *uri, UriSuffixBuffer &buffer) +{ + const char *suffix = uri_get_suffix(uri); + if (suffix == nullptr) + return nullptr; + + const char *q = strchr(suffix, '?'); + if (q != nullptr && size_t(q - suffix) < sizeof(buffer.data)) { + memcpy(buffer.data, suffix, q - suffix); + buffer.data[q - suffix] = 0; + suffix = buffer.data; + } + + return suffix; +} + static const char * verify_uri_segment(const char *p) { -- cgit v1.2.3