diff options
author | Michael Vogt <michael.vogt@ubuntu.com> | 2011-11-10 16:56:21 +0100 |
---|---|---|
committer | Michael Vogt <michael.vogt@ubuntu.com> | 2011-11-10 16:56:21 +0100 |
commit | 7cb543fb742a837c4931513674febaec5e4c1401 (patch) | |
tree | ddefe5b9329907818aa6eb3b593f555b29ccb869 /apt-pkg/contrib/hashsum.cc | |
parent | f6cb0880a4b5d31e398cceb2e2577b6b82f4fffb (diff) | |
parent | 71ecaad29d8066a494f516efc5efd80860653fe2 (diff) |
merged from lp:~mvo/apt/mvo (that has all the changes from debian-experimental2) and resolved a bunch of conflicts
Diffstat (limited to 'apt-pkg/contrib/hashsum.cc')
-rw-r--r-- | apt-pkg/contrib/hashsum.cc | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/apt-pkg/contrib/hashsum.cc b/apt-pkg/contrib/hashsum.cc index 728747d7a..ff3b112bb 100644 --- a/apt-pkg/contrib/hashsum.cc +++ b/apt-pkg/contrib/hashsum.cc @@ -1,4 +1,5 @@ // Cryptographic API Base +#include <config.h> #include <unistd.h> #include "hashsum_template.h" @@ -6,16 +7,16 @@ // Summation::AddFD - Add content of file into the checksum /*{{{*/ // --------------------------------------------------------------------- /* */ -bool SummationImplementation::AddFD(int const Fd, unsigned long Size) { +bool SummationImplementation::AddFD(int const Fd, unsigned long long Size) { unsigned char Buf[64 * 64]; - int Res = 0; + ssize_t Res = 0; int ToEOF = (Size == 0); while (Size != 0 || ToEOF) { - unsigned n = sizeof(Buf); - if (!ToEOF) n = min(Size,(unsigned long)n); + unsigned long long n = sizeof(Buf); + if (!ToEOF) n = std::min(Size, n); Res = read(Fd, Buf, n); - if (Res < 0 || (!ToEOF && (unsigned) Res != n)) // error, or short read + if (Res < 0 || (!ToEOF && Res != (ssize_t) n)) // error, or short read return false; if (ToEOF && Res == 0) // EOF break; |