From ead208987ddf27f97bac7ccf7887e318a2550be7 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@musicpd.org>
Date: Tue, 15 Oct 2019 13:30:29 +0200
Subject: [PATCH] storage/curl: unescape URI in MapToRelativeUTF8()

---
 src/storage/plugins/CurlStorage.cxx | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/storage/plugins/CurlStorage.cxx b/src/storage/plugins/CurlStorage.cxx
index 803e471d3..8f2dea64f 100644
--- a/src/storage/plugins/CurlStorage.cxx
+++ b/src/storage/plugins/CurlStorage.cxx
@@ -85,9 +85,8 @@ CurlStorage::MapUTF8(const char *uri_utf8) const noexcept
 const char *
 CurlStorage::MapToRelativeUTF8(const char *uri_utf8) const noexcept
 {
-	// TODO: escape/unescape?
-
-	return PathTraitsUTF8::Relative(base.c_str(), uri_utf8);
+	return PathTraitsUTF8::Relative(base.c_str(),
+					CurlUnescape(uri_utf8).c_str());
 }
 
 class BlockingHttpRequest : protected CurlResponseHandler {