summaryrefslogtreecommitdiff
path: root/cmdline
diff options
context:
space:
mode:
Diffstat (limited to 'cmdline')
-rw-r--r--cmdline/apt-cdrom.cc25
1 files changed, 15 insertions, 10 deletions
diff --git a/cmdline/apt-cdrom.cc b/cmdline/apt-cdrom.cc
index e1847be6e..7d723ba66 100644
--- a/cmdline/apt-cdrom.cc
+++ b/cmdline/apt-cdrom.cc
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: apt-cdrom.cc,v 1.22 1999/04/07 06:00:20 jgg Exp $
+// $Id: apt-cdrom.cc,v 1.23 1999/05/29 03:32:30 jgg Exp $
/* ######################################################################
APT CDROM - Tool for handling APT's CDROM database.
@@ -51,10 +51,17 @@ bool FindPackages(string CD,vector<string> &List,string &InfoDir,
if (chdir(CD.c_str()) != 0)
return _error->Errno("chdir","Unable to change to %s",CD.c_str());
+ // Look for a .disk subdirectory
+ struct stat Buf;
+ if (stat(".disk",&Buf) == 0)
+ {
+ if (InfoDir.empty() == true)
+ InfoDir = CD + ".disk/";
+ }
+
/* Aha! We found some package files. We assume that everything under
this dir is controlled by those package files so we don't look down
anymore */
- struct stat Buf;
if (stat("Packages",&Buf) == 0)
{
List.push_back(CD);
@@ -63,13 +70,6 @@ bool FindPackages(string CD,vector<string> &List,string &InfoDir,
if (_config->FindB("APT::CDROM::Thorough",false) == false)
return true;
}
-
- // Look for a .disk subdirectory
- if (stat(".disk",&Buf) == 0)
- {
- if (InfoDir.empty() == true)
- InfoDir = CD + ".disk/";
- }
DIR *D = opendir(".");
if (D == 0)
@@ -506,8 +506,13 @@ bool CopyPackages(string CDROM,string Name,vector<string> &List)
return false;
}
else
+ {
if (Target.Write(Start,Stop-Start) == false)
- return false;
+ return false;
+ if (Stop[-1] != '\n')
+ if (Target.Write("\n",1) == false)
+ return false;
+ }
}
if (Target.Write("\n",1) == false)
return false;