From ec13f13ca57fba24a53d873e9aa80527fc0b8134 Mon Sep 17 00:00:00 2001 From: Robert Collins Date: Mon, 15 Jul 2002 14:05:01 +0000 Subject: [PATCH] 2002-07-15 Robert Collins * package_version.cc (packageversion::sources): Implement this. * download.cc (do_download_thread): Support multiple files per package. --- ChangeLog | 5 +++++ download.cc | 35 ++++++++++++++++++++++++++++------- package_version.cc | 6 ++++++ 3 files changed, 39 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index d737a8df..634f9749 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2002-07-15 Robert Collins + + * package_version.cc (packageversion::sources): Implement this. + * download.cc (do_download_thread): Support multiple files per package. + 2002-07-15 Robert Collins * package_version.h (packageversion::sources): Support multiple files in diff --git a/download.cc b/download.cc index 2fa30a63..6a375a9c 100644 --- a/download.cc +++ b/download.cc @@ -235,11 +235,22 @@ do_download_thread (HINSTANCE h, HWND owner) packageversion sourceversion = version.sourcePackage(); try { - if (version.picked() && !check_for_cached (*version.source())) - total_download_bytes += version.source()->size; - if (sourceversion.picked () - && !check_for_cached (*sourceversion.source())) - total_download_bytes += sourceversion.source()->size; + if (version.picked()) + { + for (vector::iterator i = + version.sources ()->begin(); + i != version.sources ()->end(); ++i) + if (!check_for_cached (*i)) + total_download_bytes += i->size; + } + if (sourceversion.picked ()) + { + for (vector::iterator i = + sourceversion.sources ()->begin(); + i != sourceversion.sources ()->end(); ++i) + if (!check_for_cached (*i)) + total_download_bytes += i->size; + } } catch (Exception * e) { @@ -265,9 +276,19 @@ do_download_thread (HINSTANCE h, HWND owner) packageversion version = pkg.desired; packageversion sourceversion = version.sourcePackage(); if (version.picked()) - e += download_one (*version.source(), owner); + { + for (vector::iterator i = + version.sources ()->begin(); + i != version.sources ()->end(); ++i) + e += download_one (*i, owner); + } if (sourceversion && sourceversion.picked()) - e += download_one (*sourceversion.source(), owner); + { + for (vector::iterator i = + sourceversion.sources ()->begin(); + i != sourceversion.sources ()->end(); ++i) + e += download_one (*i, owner); + } errors += e; #if 0 if (e) diff --git a/package_version.cc b/package_version.cc index 570b6703..c40c50a6 100644 --- a/package_version.cc +++ b/package_version.cc @@ -285,6 +285,12 @@ packageversion::source () return &data->sources[0]; } +vector * +packageversion::sources () +{ + return &data->sources; +} + bool packageversion::accessible() const { -- 2.43.5