aboutsummaryrefslogtreecommitdiff
path: root/src/DownloadUtils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/DownloadUtils.cpp')
-rw-r--r--src/DownloadUtils.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/DownloadUtils.cpp b/src/DownloadUtils.cpp
index a56a56e..93df291 100644
--- a/src/DownloadUtils.cpp
+++ b/src/DownloadUtils.cpp
@@ -136,18 +136,18 @@ namespace QuickMedia {
fprintf(stderr, "Download duration for %s: %d ms\n", url.c_str(), timer.getElapsedTime().asMilliseconds());
std::string content_disposition = header_extract_value(header, "content-disposition");
- size_t filename_start = content_disposition.find("filename=");
+ // TODO: after filename*= the encoding type will follow. We need to support other formats than utf-8 as well
+ size_t filename_start = content_disposition.find("filename*=");
if(filename_start == std::string::npos) {
- // TODO: after filename*= the encoding type will follow. We need to support other formats than utf-8 as well
- filename_start = content_disposition.find("filename*=");
+ filename_start = content_disposition.find("filename=");
if(filename_start != std::string::npos) {
- filename_start += 10;
- filename_start = content_disposition.find("''", filename_start);
- if(filename_start != std::string::npos)
- filename_start += 2;
+ filename_start += 9;
}
} else {
- filename_start += 9;
+ filename_start += 10;
+ filename_start = content_disposition.find("''", filename_start);
+ if(filename_start != std::string::npos)
+ filename_start += 2;
}
if(filename_start == std::string::npos) {