// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: indexcopy.cc,v 1.6 2001/02/20 07:03:17 jgg Exp $
+// $Id: indexcopy.cc,v 1.10 2002/03/26 07:38:58 jgg Exp $
/* ######################################################################
Index Copying - Aid for copying and verifying the index files
#include <apt-pkg/configuration.h>
#include <apt-pkg/tagfile.h>
-#include <iostream.h>
+#include <iostream>
#include <unistd.h>
#include <sys/stat.h>
#include <stdio.h>
/*}}}*/
+using namespace std;
+
// IndexCopy::CopyPackages - Copy the package files from the CD /*{{{*/
// ---------------------------------------------------------------------
/* */
SetCloseExec(STDOUT_FILENO,false);
const char *Args[3];
- Args[0] = _config->Find("Dir::bin::gzip","gzip").c_str();
+ string Tmp = _config->Find("Dir::bin::gzip","gzip");
+ Args[0] = Tmp.c_str();
Args[1] = "-d";
Args[2] = 0;
execvp(Args[0],(char **)Args);
// Open the output file
char S[400];
- sprintf(S,"cdrom:[%s]/%s%s",Name.c_str(),(*I).c_str() + CDROM.length(),
- GetFileName());
+ snprintf(S,sizeof(S),"cdrom:[%s]/%s%s",Name.c_str(),
+ (*I).c_str() + CDROM.length(),GetFileName());
string TargetF = _config->FindDir("Dir::State::lists") + "partial/";
TargetF += URItoFileName(S);
if (_config->FindB("APT::CDROM::NoAct",false) == true)
return _error->Errno("rename","Failed to rename");
// Copy the release file
- sprintf(S,"cdrom:[%s]/%sRelease",Name.c_str(),(*I).c_str() + CDROM.length());
+ snprintf(S,sizeof(S),"cdrom:[%s]/%sRelease",Name.c_str(),
+ (*I).c_str() + CDROM.length());
string TargetF = _config->FindDir("Dir::State::lists") + "partial/";
TargetF += URItoFileName(S);
if (FileExists(*I + "Release") == true)
cout << '.' << endl;
if (Packages == 0)
- return _error->Warning("No valid records were found.");
-
+ _error->Warning("No valid records were found.");
+
if (NotFound + WrongSize > 10)
cout << "Alot of entries were discarded, something may be wrong." << endl;
void IndexCopy::ConvertToSourceList(string CD,string &Path)
{
char S[300];
- sprintf(S,"binary-%s",_config->Find("Apt::Architecture").c_str());
+ snprintf(S,sizeof(S),"binary-%s",_config->Find("Apt::Architecture").c_str());
// Strip the cdrom base path
Path = string(Path,CD.length());
return;
// Not a dists type.
- if (stringcmp(Path.begin(),Path.begin()+strlen("dists/"),"dists/") != 0)
+ if (stringcmp(Path.c_str(),Path.c_str()+strlen("dists/"),"dists/") != 0)
return;
// Isolate the dist