diff options
author | Julian Andres Klode <jak@debian.org> | 2017-06-26 18:44:56 +0200 |
---|---|---|
committer | Julian Andres Klode <jak@debian.org> | 2017-06-28 19:50:26 +0200 |
commit | 6edfda8b45dee7e1202f723b98fa962c38554c51 (patch) | |
tree | 328327b85410cc8b5e384e5c35b1162ac3f67d51 /apt-pkg/deb | |
parent | dfe0e754a808aabd55f9cd68201a7f1432070836 (diff) |
Strip 0: epochs from the version hash
This should fix some issues with dpkg normalizing such
values. Suprisingly enough apt treats the Version: field
the same, even with epoch vs without, but not when searching,
and does not strip the 0: from the output.
Diffstat (limited to 'apt-pkg/deb')
-rw-r--r-- | apt-pkg/deb/deblistparser.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/apt-pkg/deb/deblistparser.cc b/apt-pkg/deb/deblistparser.cc index 4e61f0fc2..3a26b40c4 100644 --- a/apt-pkg/deb/deblistparser.cc +++ b/apt-pkg/deb/deblistparser.cc @@ -372,6 +372,11 @@ unsigned short debListParser::VersionHash() string to make that not matter. */ for (; Start != End; ++Start) { + // Strip away 0: epochs from input + if (*Start == '0' && Start[1] == ':') { + Start++; // Skip the : + continue; // Skip the 0 + } if (isspace_ascii(*Start) != 0 || *Start == '=') continue; Result = AddCRC16Byte(Result, tolower_ascii_unsafe(*Start)); |