From 6edfda8b45dee7e1202f723b98fa962c38554c51 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Mon, 26 Jun 2017 18:44:56 +0200 Subject: 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. --- apt-pkg/deb/deblistparser.cc | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'apt-pkg/deb') 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)); -- cgit v1.2.3