From ed060a7a35fd6e36c364faeeebf7ef47b52c9989 Mon Sep 17 00:00:00 2001 From: vog Date: Mon, 27 Jun 2011 12:23:57 +0000 Subject: [PATCH] Fixed isEpsType() to handle size_t / long types in a clean way --- src/epsimage.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/epsimage.cpp b/src/epsimage.cpp index dbb98b57..3f1d93bc 100644 --- a/src/epsimage.cpp +++ b/src/epsimage.cpp @@ -1068,14 +1068,14 @@ namespace Exiv2 bool isEpsType(BasicIo& iIo, bool advance) { // read as many bytes as needed for the longest (DOS) EPS signature - size_t bufSize = dosEpsSignature.size(); + long bufSize = dosEpsSignature.size(); for (size_t i = 0; i < (sizeof epsFirstLine) / (sizeof *epsFirstLine); i++) { - if (bufSize < epsFirstLine[i].size()) { - bufSize = epsFirstLine[i].size(); + if (bufSize < static_cast(epsFirstLine[i].size())) { + bufSize = static_cast(epsFirstLine[i].size()); } } DataBuf buf = iIo.read(bufSize); - if (iIo.error() || iIo.eof()) { + if (iIo.error() || buf.size_ != bufSize) { return false; } // check for all possible (DOS) EPS signatures @@ -1085,7 +1085,7 @@ namespace Exiv2 } // seek back if possible and requested if (!advance || !matched) { - iIo.seek(-bufSize, BasicIo::cur); + iIo.seek(-buf.size_, BasicIo::cur); } return matched; }