summaryrefslogtreecommitdiff
path: root/src/utils.cpp
diff options
context:
space:
mode:
authorGravatar Andreas Krennmair <ak@synflood.at> 2009-06-19 22:16:21 +0200
committerGravatar Andreas Krennmair <ak@synflood.at> 2009-06-19 22:16:21 +0200
commit39378dcb9c851925d9f8f2696057cabcbe994f50 (patch)
tree3b5c8557bc2dc9ed150c4b518ba6612842339cd7 /src/utils.cpp
parent2456f59e6e2cfcd5890387a4ce7cbf6877faf210 (diff)
downloadnewsboat-39378dcb9c851925d9f8f2696057cabcbe994f50.tar.gz
newsboat-39378dcb9c851925d9f8f2696057cabcbe994f50.tar.zst
newsboat-39378dcb9c851925d9f8f2696057cabcbe994f50.zip
fixed overeager censorship of "special" URLs that leads to messed-up URLs in the feed list.
Diffstat (limited to '')
-rw-r--r--src/utils.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/utils.cpp b/src/utils.cpp
index 5e461608..c72a3fbd 100644
--- a/src/utils.cpp
+++ b/src/utils.cpp
@@ -619,9 +619,13 @@ std::string utils::join(const std::vector<std::string>& strings, const std::stri
return result;
}
+bool utils::is_special_url(const std::string& url) {
+ return url.substr(0,6) == "query:" || url.substr(0,7) == "filter:" || url.substr(0,5) == "exec:";
+}
+
std::string utils::censor_url(const std::string& url) {
std::string rv;
- if (url.length() > 0) {
+ if (url.length() > 0 && !utils::is_special_url(url)) {
const char * myuri = url.c_str();
xmlURIPtr uri = xmlParseURI(myuri);
if (uri) {
@@ -636,6 +640,8 @@ std::string utils::censor_url(const std::string& url) {
xmlFreeURI(uri);
} else
return url;
+ } else {
+ rv = url;
}
return rv;
}