summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2015-12-14 13:58:46 +0100
committerJulian Andres Klode <jak@debian.org>2015-12-14 13:58:46 +0100
commit137e8ad4b6ce28b1a1355d5a125d09670388c2b7 (patch)
treef90df18be1ccfe83fc624ae87182254a02adc323
parent950733c947acd50afe498e900954d911454c57e7 (diff)
tagfile: Hardcode error message for out of range integer values
This makes the test suite work on 32 bit-long platforms. Gbp-Dch: ignore
-rw-r--r--apt-pkg/tagfile.cc7
-rwxr-xr-xtest/integration/test-policy-pinning2
2 files changed, 4 insertions, 5 deletions
diff --git a/apt-pkg/tagfile.cc b/apt-pkg/tagfile.cc
index 8acecd735..2bef9b48b 100644
--- a/apt-pkg/tagfile.cc
+++ b/apt-pkg/tagfile.cc
@@ -537,11 +537,10 @@ signed int pkgTagSection::FindI(const char *Tag,signed long Default) const
errno = 0;
char *End;
signed long Result = strtol(S,&End,10);
- if (errno == ERANGE)
- _error->Errno("strtol", _("Cannot convert %s to integer"), S);
- if (Result < std::numeric_limits<int>::min() || Result > std::numeric_limits<int>::max()) {
+ if (errno == ERANGE ||
+ Result < std::numeric_limits<int>::min() || Result > std::numeric_limits<int>::max()) {
errno = ERANGE;
- _error->Errno("", _("Cannot convert %s to integer"), S);
+ _error->Error(_("Cannot convert %s to integer: out of range"), S);
}
if (S == End)
return Default;
diff --git a/test/integration/test-policy-pinning b/test/integration/test-policy-pinning
index 062c8058f..3d09cb7ce 100755
--- a/test/integration/test-policy-pinning
+++ b/test/integration/test-policy-pinning
@@ -302,7 +302,7 @@ Pin-Priority: 2147483648
" > rootdir/etc/apt/preferences
testfailureequal "Reading package lists...
-E: Cannot convert 2147483648 to integer - (34: Numerical result out of range)
+E: Cannot convert 2147483648 to integer: out of range
E: ${tmppath}/rootdir/etc/apt/preferences: Value 2147483648 is outside the range of valid pin priorities (-32768 to 32767)" \
aptget install -s coolstuff -o PinPriority=2147483648