|
|
@@ -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)
|