diff options
Diffstat (limited to 'src/DownloadUtils.cpp')
-rw-r--r-- | src/DownloadUtils.cpp | 16 |
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) { |