From b19314af783eff68378a9af1d63e2ed68337310a Mon Sep 17 00:00:00 2001 From: Sandy Carter Date: Fri, 14 Aug 2015 21:28:14 -0400 Subject: [PATCH] Enable multiple file download with protocol address Implement download of gog addresses containing commas of the form: gogdownloader://GAME_NAME_1/FILE_ID1,GAME_NAME_2/FILE_ID2,... --- main.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/main.cpp b/main.cpp index d7df9e9..e8c205f 100644 --- a/main.cpp +++ b/main.cpp @@ -519,7 +519,16 @@ int main(int argc, char *argv[]) else if (!config.sFileIdString.empty()) { if (config.sFileIdString.compare(0, GlobalConstants::PROTOCOL_PREFIX.length(), GlobalConstants::PROTOCOL_PREFIX) == 0) - downloader.downloadFileWithId(config.sFileIdString.substr(GlobalConstants::PROTOCOL_PREFIX.length(), config.sFileIdString.length())); + { + size_t front = GlobalConstants::PROTOCOL_PREFIX.length(); + do { + size_t back = config.sFileIdString.find(',', front); + if (back == (size_t) -1) + back = config.sFileIdString.length(); + downloader.downloadFileWithId(config.sFileIdString.substr(front, back-front)); + front = back + 1; + } while(front < config.sFileIdString.length()); + } else downloader.downloadFileWithId(config.sFileIdString); }