Browse Source

Make single-etnry metalink download with multi-file torrent work

Tatsuhiro Tsujikawa 9 years ago
parent
commit
395b8e93c5
2 changed files with 4 additions and 0 deletions
  1. 1 0
      src/BtDependency.cc
  2. 3 0
      src/Metalink2RequestGroup.cc

+ 1 - 0
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 {

+ 3 - 0
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);