From: Arch Librarian <arch@canonical.com>
Date: Mon, 20 Sep 2004 16:59:08 +0000 (+0000)
Subject: Correct neuros problem with no source directory
X-Git-Tag: 0.7.24ubuntu1~922
X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/171c45bcc2a0a59db27f6bfc142efdd466cdd8bc?ds=sidebyside

Correct neuros problem with no source directory
Author: jgg
Date: 2002-04-24 05:02:40 GMT
Correct neuros problem with no source directory
---

diff --git a/apt-pkg/contrib/fileutl.cc b/apt-pkg/contrib/fileutl.cc
index df96a066c..00afc8050 100644
--- a/apt-pkg/contrib/fileutl.cc
+++ b/apt-pkg/contrib/fileutl.cc
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description								/*{{{*/
-// $Id: fileutl.cc,v 1.40 2002/04/18 05:08:49 jgg Exp $
+// $Id: fileutl.cc,v 1.41 2002/04/24 05:02:40 jgg Exp $
 /* ######################################################################
    
    File Utilities
@@ -156,12 +156,12 @@ string flNotDir(string File)
 									/*}}}*/
 // flNotFile - Strip the file from the directory name			/*{{{*/
 // ---------------------------------------------------------------------
-/* */
+/* Result ends in a / */
 string flNotFile(string File)
 {
    string::size_type Res = File.rfind('/');
    if (Res == string::npos)
-      return File;
+      return "./";
    Res++;
    return string(File,0,Res);
 }
diff --git a/ftparchive/writer.cc b/ftparchive/writer.cc
index a4877d635..b3ee49c75 100644
--- a/ftparchive/writer.cc
+++ b/ftparchive/writer.cc
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description								/*{{{*/
-// $Id: writer.cc,v 1.4 2001/06/26 02:50:27 jgg Exp $
+// $Id: writer.cc,v 1.5 2002/04/24 05:02:40 jgg Exp $
 /* ######################################################################
 
    Writer 
@@ -603,10 +603,10 @@ bool SourcesWriter::DoPackage(string FileName)
       NewFileName = OriginalPath;
    if (PathPrefix.empty() == false)
       NewFileName = flCombine(PathPrefix,NewFileName);
-    
+
    string Directory = flNotFile(OriginalPath);
    string Package = Tags.FindS("Source");
-   
+
    // Perform the delinking operation over all of the files
    string ParseJnk;
    const char *C = Files;
@@ -633,7 +633,7 @@ bool SourcesWriter::DoPackage(string FileName)
    Directory = flNotFile(NewFileName);
    if (Directory.length() > 2)
       Directory.erase(Directory.end()-1);
-      
+
    // This lists all the changes to the fields we are going to make.
    // (5 hardcoded + maintainer + end marker)
    TFRewriteData Changes[5+1+SOverItem->FieldOverride.size()+1];
@@ -641,7 +641,8 @@ bool SourcesWriter::DoPackage(string FileName)
    unsigned int End = 0;
    SetTFRewriteData(Changes[End++],"Source",Package.c_str(),"Package");
    SetTFRewriteData(Changes[End++],"Files",Files);
-   SetTFRewriteData(Changes[End++],"Directory",Directory.c_str());
+   if (Directory != "./")
+      SetTFRewriteData(Changes[End++],"Directory",Directory.c_str());
    SetTFRewriteData(Changes[End++],"Priority",BestPrio.c_str());
    SetTFRewriteData(Changes[End++],"Status",0);