]> git.saurik.com Git - apt.git/blobdiff - ftparchive/writer.cc
Sync with Matt
[apt.git] / ftparchive / writer.cc
index 5264f4c1fc33a2849f32e38ba8fb843febece239..35a23a3d7b30744888990c502399a98b65d9a9dd 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: writer.cc,v 1.12 2004/01/02 21:55:09 mdz Exp $
+// $Id: writer.cc,v 1.14 2004/03/24 01:40:43 mdz Exp $
 /* ######################################################################
 
    Writer 
@@ -289,6 +289,7 @@ PackagesWriter::PackagesWriter(string DB,string Overrides,string ExtOverrides) :
                    Db(DB),Stats(Db.Stats)
 {
    Output = stdout;
+   SetExts(".deb .udeb .foo .bar .baz");
    AddPattern("*.deb");
    DeLinkLimit = 0;
    
@@ -319,15 +320,20 @@ bool FTWScanner::SetExts(string Vals)
 {
    ClearPatterns();
    string::size_type Start = 0;
-   for(string::size_type space = Vals.find(' ');
-       space != string::npos;
-       space = Vals.find(' ', space))
+   while (Start <= Vals.length()-1)
    {
-      if (space > 0)
+      string::size_type Space = Vals.find(' ',Start);
+      string::size_type Length;
+      if (Space == string::npos)
       {
-         AddPattern(string("*") + string(Start, space-1));
-         Start = space + 1;
+         Length = Vals.length()-Start;
       }
+      else
+      {
+         Length = Space-Start;
+      }
+      AddPattern(string("*") + Vals.substr(Start, Length));
+      Start += Length + 1;
    }
 
    return true;
@@ -549,10 +555,10 @@ bool SourcesWriter::DoPackage(string FileName)
       
    // Lookup the overide information, finding first the best priority.
    string BestPrio;
-   char Buffer[1000];
    string Bins = Tags.FindS("Binary");
+   char Buffer[Bins.length() + 1];
    Override::Item *OverItem = 0;
-   if (Bins.empty() == false && Bins.length() < sizeof(Buffer))
+   if (Bins.empty() == false)
    {
       strcpy(Buffer,Bins.c_str());
       
@@ -748,7 +754,7 @@ bool ContentsWriter::ReadFromPkgs(string PkgFile,string PkgCompress)
    
    // Open the package file
    int CompFd = -1;
-   int Proc = -1;
+   pid_t Proc = -1;
    if (Pkgs.OpenOld(CompFd,Proc) == false)
       return false;