Browse Source

imbue .diff/Index parsing with C.UTF-8 as well

In 3bdff17c89 we did it for the datetime
parsing, but we use the same style in the parsing for pdiff (where the
size of the file is in the middle of the three fields) so imbueing here
as well is a good idea.
tags/debian/1.3_pre1
David Kalnischkies 5 years ago
parent
commit
1136a707b7
1 changed files with 5 additions and 0 deletions
  1. +5
    -0
      apt-pkg/acquire-item.cc

+ 5
- 0
apt-pkg/acquire-item.cc View File

@@ -2000,6 +2000,7 @@ bool pkgAcqDiffIndex::ParseDiffIndex(string const &IndexDiffFile) /*{{{*/
HashStringList ServerHashes;
unsigned long long ServerSize = 0;

auto const &posix = std::locale("C.UTF-8");
for (char const * const * type = HashString::SupportedHashes(); *type != NULL; ++type)
{
std::string tagname = *type;
@@ -2011,6 +2012,7 @@ bool pkgAcqDiffIndex::ParseDiffIndex(string const &IndexDiffFile) /*{{{*/
string hash;
unsigned long long size;
std::stringstream ss(tmp);
ss.imbue(posix);
ss >> hash >> size;
if (unlikely(hash.empty() == true))
continue;
@@ -2089,6 +2091,7 @@ bool pkgAcqDiffIndex::ParseDiffIndex(string const &IndexDiffFile) /*{{{*/
string hash, filename;
unsigned long long size;
std::stringstream ss(tmp);
ss.imbue(posix);

while (ss >> hash >> size >> filename)
{
@@ -2147,6 +2150,7 @@ bool pkgAcqDiffIndex::ParseDiffIndex(string const &IndexDiffFile) /*{{{*/
string hash, filename;
unsigned long long size;
std::stringstream ss(tmp);
ss.imbue(posix);

while (ss >> hash >> size >> filename)
{
@@ -2184,6 +2188,7 @@ bool pkgAcqDiffIndex::ParseDiffIndex(string const &IndexDiffFile) /*{{{*/
string hash, filename;
unsigned long long size;
std::stringstream ss(tmp);
ss.imbue(posix);

// FIXME: all of pdiff supports only .gz compressed patches
while (ss >> hash >> size >> filename)


Loading…
Cancel
Save