projects
/
apt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
- load the supported compressors from configuration
[apt.git]
/
apt-pkg
/
deb
/
debsrcrecords.cc
diff --git
a/apt-pkg/deb/debsrcrecords.cc
b/apt-pkg/deb/debsrcrecords.cc
index 7d5dab747b992e3c14b2a1401d1f019826cdd8f0..3809ee74f6982dc532cacbdee0af117cb06cb5bc 100644
(file)
--- a/
apt-pkg/deb/debsrcrecords.cc
+++ b/
apt-pkg/deb/debsrcrecords.cc
@@
-9,10
+9,6
@@
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
##################################################################### */
/*}}}*/
// Include Files /*{{{*/
-#ifdef __GNUG__
-#pragma implementation "apt-pkg/debsrcrecords.h"
-#endif
-
#include <apt-pkg/deblistparser.h>
#include <apt-pkg/debsrcrecords.h>
#include <apt-pkg/error.h>
#include <apt-pkg/deblistparser.h>
#include <apt-pkg/debsrcrecords.h>
#include <apt-pkg/error.h>
@@
-58,7
+54,8
@@
const char **debSrcRecordParser::Binaries()
package/version records representing the build dependency. The returned
array need not be freed and will be reused by the next call to this
function */
package/version records representing the build dependency. The returned
array need not be freed and will be reused by the next call to this
function */
-bool debSrcRecordParser::BuildDepends(vector<pkgSrcRecords::Parser::BuildDepRec> &BuildDeps, bool ArchOnly)
+bool debSrcRecordParser::BuildDepends(vector<pkgSrcRecords::Parser::BuildDepRec> &BuildDeps,
+ bool const &ArchOnly, bool const &StripMultiArch)
{
unsigned int I;
const char *Start, *Stop;
{
unsigned int I;
const char *Start, *Stop;
@@
-81,7
+78,7
@@
bool debSrcRecordParser::BuildDepends(vector<pkgSrcRecords::Parser::BuildDepRec>
while (1)
{
Start = debListParser::ParseDepends(Start, Stop,
while (1)
{
Start = debListParser::ParseDepends(Start, Stop,
- rec.Package,rec.Version,rec.Op,true);
+ rec.Package,rec.Version,rec.Op,true
, StripMultiArch
);
if (Start == 0)
return _error->Error("Problem parsing dependency: %s", fields[I]);
if (Start == 0)
return _error->Error("Problem parsing dependency: %s", fields[I]);
@@
-139,9
+136,16
@@
bool debSrcRecordParser::Files(vector<pkgSrcRecords::File> &List)
string::size_type Tmp = F.Path.rfind('.',Pos);
if (Tmp == string::npos)
break;
string::size_type Tmp = F.Path.rfind('.',Pos);
if (Tmp == string::npos)
break;
+ if (F.Type == "tar") {
+ // source v3 has extension 'debian.tar.*' instead of 'diff.*'
+ if (string(F.Path, Tmp+1, Pos-Tmp) == "debian")
+ F.Type = "diff";
+ break;
+ }
F.Type = string(F.Path,Tmp+1,Pos-Tmp);
F.Type = string(F.Path,Tmp+1,Pos-Tmp);
- if (F.Type == "gz" || F.Type == "bz2")
+ if (F.Type == "gz" || F.Type == "bz2" || F.Type == "lzma" ||
+ F.Type == "xz" || F.Type == "tar")
{
Pos = Tmp-1;
continue;
{
Pos = Tmp-1;
continue;
@@
-156,3
+160,11
@@
bool debSrcRecordParser::Files(vector<pkgSrcRecords::File> &List)
return true;
}
/*}}}*/
return true;
}
/*}}}*/
+// SrcRecordParser::~SrcRecordParser - Destructor /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+debSrcRecordParser::~debSrcRecordParser()
+{
+ delete[] Buffer;
+}
+ /*}}}*/