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,...
This commit is contained in:
Sandy Carter 2015-08-14 21:28:14 -04:00
parent 04251776d3
commit b19314af78

View File

@ -519,7 +519,16 @@ int main(int argc, char *argv[])
else if (!config.sFileIdString.empty()) else if (!config.sFileIdString.empty())
{ {
if (config.sFileIdString.compare(0, GlobalConstants::PROTOCOL_PREFIX.length(), GlobalConstants::PROTOCOL_PREFIX) == 0) 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 else
downloader.downloadFileWithId(config.sFileIdString); downloader.downloadFileWithId(config.sFileIdString);
} }