X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/7296e47e10687e554a4756f65e9c842f88e696e3..34d6563ef47b455b69a7bc9ad0838902bb911dea:/methods/mirror.cc diff --git a/methods/mirror.cc b/methods/mirror.cc index 3b2ab8ede..854366318 100644 --- a/methods/mirror.cc +++ b/methods/mirror.cc @@ -124,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; } @@ -149,7 +150,7 @@ bool MirrorMethod::DownloadMirrorFile(string mirror_uri_str) for (std::vector::const_iterator I = vec.begin(); I != vec.end(); ++I) if (I == vec.begin()) - fetch += "?arch" + (*I); + fetch += "?arch=" + (*I); else fetch += "&arch=" + (*I); @@ -310,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;