Explorar el Código

Show full package records in apt-cache search -f

This just changes the DoSearch code to use DisplayRecord to
display the record when the full record is requested.

Closes: #660851

[jak@debian.org: Wrote the commit message]
Kusanagi Kouichi hace 11 años
padre
commit
0e54edd2ed
Se han modificado 1 ficheros con 4 adiciones y 7 borrados
  1. 4 7
      cmdline/apt-cache.cc

+ 4 - 7
cmdline/apt-cache.cc

@@ -1332,6 +1332,7 @@ static bool DisplayRecord(pkgCacheFile &CacheFile, pkgCache::VerIterator V)
 struct ExDescFile
 struct ExDescFile
 {
 {
    pkgCache::DescFile *Df;
    pkgCache::DescFile *Df;
+   pkgCache::VerIterator V;
    map_id_t ID;
    map_id_t ID;
 };
 };
 
 
@@ -1417,6 +1418,7 @@ static bool Search(CommandLine &CmdL)
 	 if (D.end() == true)
 	 if (D.end() == true)
 	    continue;
 	    continue;
 	 DFList[G->ID].Df = D.FileList();
 	 DFList[G->ID].Df = D.FileList();
+	 DFList[G->ID].V = V;
 	 DFList[G->ID].ID = G->ID;
 	 DFList[G->ID].ID = G->ID;
       }
       }
 
 
@@ -1436,6 +1438,7 @@ static bool Search(CommandLine &CmdL)
 	 if (D.end() == true)
 	 if (D.end() == true)
 	    continue;
 	    continue;
 	 DFList[id].Df = D.FileList();
 	 DFList[id].Df = D.FileList();
+	 DFList[id].V = V;
 	 DFList[id].ID = id;
 	 DFList[id].ID = id;
 
 
 	 size_t const PrvPatternOffset = id * NumPatterns;
 	 size_t const PrvPatternOffset = id * NumPatterns;
@@ -1477,13 +1480,7 @@ static bool Search(CommandLine &CmdL)
       if (matchedAll == true)
       if (matchedAll == true)
       {
       {
 	 if (ShowFull == true)
 	 if (ShowFull == true)
-	 {
-	    const char *Start;
-	    const char *End;
-	    P.GetRec(Start,End);
-	    fwrite(Start,End-Start,1,stdout);
-	    putc('\n',stdout);
-	 }	 
+	    DisplayRecord(CacheFile, J->V);
 	 else
 	 else
 	    printf("%s - %s\n",P.Name().c_str(),P.ShortDesc().c_str());
 	    printf("%s - %s\n",P.Name().c_str(),P.ShortDesc().c_str());
       }
       }