From 395b8e93c5d07997984c12f17d950a37310a1182 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Sun, 27 Mar 2016 19:29:19 +0900 Subject: [PATCH] Make single-etnry metalink download with multi-file torrent work --- src/BtDependency.cc | 1 + src/Metalink2RequestGroup.cc | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/BtDependency.cc b/src/BtDependency.cc index 3131c5c2..d29e72c2 100644 --- a/src/BtDependency.cc +++ b/src/BtDependency.cc @@ -128,6 +128,7 @@ bool BtDependency::resolve() // always assumed. if (fileEntries.size() == 1 && dependantFileEntries.size() == 1 && dependantFileEntries[0]->getOriginalName().empty()) { + // TODO this may be dead code copyValues(fileEntries[0], dependantFileEntries[0]); } else { diff --git a/src/Metalink2RequestGroup.cc b/src/Metalink2RequestGroup.cc index 31ab2ff1..4a856bb0 100644 --- a/src/Metalink2RequestGroup.cc +++ b/src/Metalink2RequestGroup.cc @@ -262,6 +262,9 @@ void Metalink2RequestGroup::createRequestGroup( dctx->getFirstFileEntry()->setUris(uris); dctx->getFirstFileEntry()->setMaxConnectionPerServer(maxConn); dctx->getFirstFileEntry()->setSuffixPath(entry->file->getPath()); + if (!entry->metaurls.empty()) { + dctx->getFirstFileEntry()->setOriginalName(entry->metaurls[0]->name); + } if (option->getAsBool(PREF_METALINK_ENABLE_UNIQUE_PROTOCOL)) { dctx->getFirstFileEntry()->setUniqueProtocol(true);