summaryrefslogtreecommitdiff
path: root/ftparchive/writer.cc
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2015-01-09 01:03:31 +0100
committerDavid Kalnischkies <david@kalnischkies.de>2015-01-10 13:31:14 +0100
commit31be38d205406d4c756684e20b93d62c4701e091 (patch)
tree2a909c180563e5e662a7578ed162b0d6401d9a96 /ftparchive/writer.cc
parentd13f2ef5dd2cf41d7abd7f309a9e8965a77d2a63 (diff)
128 KiB DSC files ought to be enough for everyone
Your mileage may vary, but don't worry: There is more than one way to do it, but our one size fits all is not a bigger hammer, but an entire roundhouse kick! So brace yourself for the tl;dr: The limit is gone.* Beware: This fixes also the problem that a double newline is unconditionally added 'later' which is an overcommitment in case the dsc filesize is limit-2 <= x <= limit. * limited to numbers fitting into an unsigned long long. Closes: 774893
Diffstat (limited to 'ftparchive/writer.cc')
-rw-r--r--ftparchive/writer.cc12
1 files changed, 2 insertions, 10 deletions
diff --git a/ftparchive/writer.cc b/ftparchive/writer.cc
index 7c1c9cc03..0f6cc177b 100644
--- a/ftparchive/writer.cc
+++ b/ftparchive/writer.cc
@@ -634,18 +634,10 @@ bool SourcesWriter::DoPackage(string FileName)
// the "db cursor"
Db.Finish();
- // read stuff
- char *Start = Db.Dsc.Data;
- char *BlkEnd = Db.Dsc.Data + Db.Dsc.Length;
-
- // Add extra \n to the end, just in case (as in clearsigned they are missing)
- *BlkEnd++ = '\n';
- *BlkEnd++ = '\n';
-
pkgTagSection Tags;
- if (Tags.Scan(Start,BlkEnd - Start) == false)
+ if (Tags.Scan(Db.Dsc.Data.c_str(), Db.Dsc.Data.length()) == false)
return _error->Error("Could not find a record in the DSC '%s'",FileName.c_str());
-
+
if (Tags.Exists("Source") == false)
return _error->Error("Could not find a Source entry in the DSC '%s'",FileName.c_str());
Tags.Trim();