aboutsummaryrefslogtreecommitdiff
path: root/backends/networking
diff options
context:
space:
mode:
Diffstat (limited to 'backends/networking')
-rw-r--r--backends/networking/curl/connectionmanager.cpp11
-rw-r--r--backends/networking/curl/connectionmanager.h3
2 files changed, 14 insertions, 0 deletions
diff --git a/backends/networking/curl/connectionmanager.cpp b/backends/networking/curl/connectionmanager.cpp
index edc7e81229..5a1e3e97c1 100644
--- a/backends/networking/curl/connectionmanager.cpp
+++ b/backends/networking/curl/connectionmanager.cpp
@@ -78,6 +78,17 @@ void ConnectionManager::showCloudDisabledIcon() {
startTimer();
}
+Common::String ConnectionManager::urlEncode(Common::String s) {
+ if (!_multi) return "";
+ char *output = curl_easy_escape(_multi, s.c_str(), s.size());
+ if (output) {
+ Common::String result = output;
+ curl_free(output);
+ return result;
+ }
+ return "";
+}
+
//private goes here:
void connectionsThread(void *ignored) {
diff --git a/backends/networking/curl/connectionmanager.h b/backends/networking/curl/connectionmanager.h
index 66994f0a79..602f8930cd 100644
--- a/backends/networking/curl/connectionmanager.h
+++ b/backends/networking/curl/connectionmanager.h
@@ -117,6 +117,9 @@ public:
/** Shows a "cloud disabled" icon for a three seconds. */
void showCloudDisabledIcon();
+
+ /** Return URL-encoded version of given string. */
+ Common::String urlEncode(Common::String s);
};
/** Shortcut for accessing the connection manager. */