summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apt-pkg/acquire-method.cc12
-rw-r--r--apt-pkg/acquire-worker.cc5
-rw-r--r--methods/cdrom.cc12
3 files changed, 17 insertions, 12 deletions
diff --git a/apt-pkg/acquire-method.cc b/apt-pkg/acquire-method.cc
index fc060d83e..b0176d3cb 100644
--- a/apt-pkg/acquire-method.cc
+++ b/apt-pkg/acquire-method.cc
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: acquire-method.cc,v 1.12 1998/12/04 22:56:50 jgg Exp $
+// $Id: acquire-method.cc,v 1.13 1998/12/05 01:45:19 jgg Exp $
/* ######################################################################
Acquire Method
@@ -205,11 +205,11 @@ bool pkgAcqMethod::MediaFail(string Required,string Drive)
while (1)
{
if (WaitFd(STDIN_FILENO) == false)
- exit(0);
+ return false;
if (ReadMessages(STDIN_FILENO,MyMessages) == false)
- exit(0);
-
+ return false;
+
string Message = MyMessages.front();
MyMessages.erase(MyMessages.begin());
@@ -225,13 +225,13 @@ bool pkgAcqMethod::MediaFail(string Required,string Drive)
// Change ack
if (Number == 603)
{
- while (Message.empty() == false)
+ while (MyMessages.empty() == false)
{
Messages.push_back(MyMessages.front());
MyMessages.erase(MyMessages.begin());
}
- return StringToBool(LookupTag(Message,"Fail"),false);
+ return !StringToBool(LookupTag(Message,"Fail"),false);
}
Messages.push_back(Message);
diff --git a/apt-pkg/acquire-worker.cc b/apt-pkg/acquire-worker.cc
index 67bb61207..28f8408b6 100644
--- a/apt-pkg/acquire-worker.cc
+++ b/apt-pkg/acquire-worker.cc
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: acquire-worker.cc,v 1.14 1998/12/04 21:16:47 jgg Exp $
+// $Id: acquire-worker.cc,v 1.15 1998/12/05 01:45:20 jgg Exp $
/* ######################################################################
Acquire Worker
@@ -460,7 +460,8 @@ bool pkgAcquire::Worker::InFdReady()
read returned -1. */
bool pkgAcquire::Worker::MethodFailure()
{
- cerr << "Method " << Access << " has died unexpectedly!" << endl;
+ _error->Error("Method %s has died unexpectedly!",Access.c_str());
+
if (waitpid(Process,0,0) != Process)
_error->Warning("I waited but nothing was there!");
Process = -1;
diff --git a/methods/cdrom.cc b/methods/cdrom.cc
index 933d88fc4..de5f8147c 100644
--- a/methods/cdrom.cc
+++ b/methods/cdrom.cc
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: cdrom.cc,v 1.2 1998/12/04 22:56:55 jgg Exp $
+// $Id: cdrom.cc,v 1.3 1998/12/05 01:45:21 jgg Exp $
/* ######################################################################
CDROM URI method for APT
@@ -34,7 +34,8 @@ class CDROMMethod : public pkgAcqMethod
// CDROMMethod::CDROMethod - Constructor /*{{{*/
// ---------------------------------------------------------------------
/* */
-CDROMMethod::CDROMMethod() : pkgAcqMethod("1.0",SingleInstance | LocalOnly)
+CDROMMethod::CDROMMethod() : pkgAcqMethod("1.0",SingleInstance | LocalOnly |
+ SendConfig)
{
// Read the database
string DFile = _config->FindFile("Dir::State::cdroms");
@@ -104,6 +105,8 @@ bool CDROMMethod::Fetch(FetchItem *Itm)
}
string CDROM = _config->FindDir("Acquire::cdrom::mount","/cdrom/");
+ if (CDROM[0] == '.')
+ CDROM= SafeGetCWD() + '/' + CDROM;
string NewID;
while (1)
{
@@ -117,8 +120,9 @@ bool CDROMMethod::Fetch(FetchItem *Itm)
UnmountCdrom(CDROM);
if (MediaFail(Get.Host,CDROM) == false)
{
- ID = "FAIL";
- break;
+ CurrentID = "FAIL";
+ Fail("Wrong CD",true);
+ return true;
}
MountCdrom(CDROM);