X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/d0f1646ae06ca5710b015662b9244e277dce73fa..34d6563ef47b455b69a7bc9ad0838902bb911dea:/methods/mirror.cc diff --git a/methods/mirror.cc b/methods/mirror.cc index a3e60ab15..854366318 100644 --- a/methods/mirror.cc +++ b/methods/mirror.cc @@ -8,6 +8,8 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ +#include + #include #include #include @@ -16,7 +18,8 @@ #include #include #include - +#include +#include #include #include @@ -34,7 +37,7 @@ using namespace std; #include "mirror.h" #include "http.h" -#include "apti18n.h" +#include /*}}}*/ /* Done: @@ -121,9 +124,10 @@ bool MirrorMethod::Clean(string Dir) if (I == list.end()) unlink(Dir->d_name); }; - - chdir(StartDir.c_str()); + closedir(D); + if (chdir(StartDir.c_str()) != 0) + return _error->Errno("chdir",_("Unable to change to %s"),StartDir.c_str()); return true; } @@ -144,9 +148,9 @@ bool MirrorMethod::DownloadMirrorFile(string mirror_uri_str) // append all architectures std::vector vec = APT::Configuration::getArchitectures(); for (std::vector::const_iterator I = vec.begin(); - I != vec.end(); I++) + I != vec.end(); ++I) if (I == vec.begin()) - fetch += "?arch" + (*I); + fetch += "?arch=" + (*I); else fetch += "&arch=" + (*I); @@ -307,6 +311,9 @@ bool MirrorMethod::InitMirrors() AllMirrors.push_back(s); } + if (AllMirrors.empty()) { + return _error->Error(_("No entry found in mirror file '%s'"), MirrorFile.c_str()); + } Mirror = AllMirrors[0]; UsedMirror = Mirror; return true;