From 90a707fa2ee266933c61ef95e52376ca64c80be6 Mon Sep 17 00:00:00 2001 From: Andreas Huggel Date: Sun, 10 Apr 2005 09:00:47 +0000 Subject: [PATCH] Fixed bugs found on MinGW and with MSVC. iotest still misteriously fails. --- msvc/exiv2lib/exiv2lib.vcproj | 18 ++++++++++++++++++ src/basicio.cpp | 6 ++++++ src/canonmn.cpp | 7 ++++--- src/exif.cpp | 6 ++++++ src/olympusmn.cpp | 2 +- 5 files changed, 35 insertions(+), 4 deletions(-) diff --git a/msvc/exiv2lib/exiv2lib.vcproj b/msvc/exiv2lib/exiv2lib.vcproj index 4a32f0cd..bfdbf0fb 100644 --- a/msvc/exiv2lib/exiv2lib.vcproj +++ b/msvc/exiv2lib/exiv2lib.vcproj @@ -229,6 +229,21 @@ + + + + + + + + + + diff --git a/src/basicio.cpp b/src/basicio.cpp index 078e9986..36e13512 100644 --- a/src/basicio.cpp +++ b/src/basicio.cpp @@ -33,6 +33,12 @@ EXIV2_RCSID("@(#) $Id$"); // ***************************************************************************** // included header files +#ifdef _MSC_VER +# include "exv_msvc.h" +#else +# include "exv_conf.h" +#endif + #include "basicio.hpp" #include "types.hpp" diff --git a/src/canonmn.cpp b/src/canonmn.cpp index 6025957d..9c4aa603 100644 --- a/src/canonmn.cpp +++ b/src/canonmn.cpp @@ -44,6 +44,7 @@ EXIV2_RCSID("@(#) $Id$"); #include #include #include +#include #include #include @@ -346,12 +347,12 @@ namespace Exiv2 { { DataBuf buf(1024); memset(buf.pData_, 0x0, 1024); - long len = 0; + uint16_t len = 0; Entries::const_iterator end = entries_.end(); for (Entries::const_iterator i = entries_.begin(); i != end; ++i) { if (i->ifdId() == ifdId) { - long pos = i->tag() * 2; - long size = pos + i->size(); + uint16_t pos = i->tag() * 2; + uint16_t size = pos + static_cast(i->size()); assert(size <= 1024); memcpy(buf.pData_ + pos, i->data(), i->size()); if (len < size) len = size; diff --git a/src/exif.cpp b/src/exif.cpp index 895f07e3..f3ddf14f 100644 --- a/src/exif.cpp +++ b/src/exif.cpp @@ -35,6 +35,12 @@ EXIV2_RCSID("@(#) $Id$"); // ***************************************************************************** // included header files +#ifdef _MSC_VER +# include "exv_msvc.h" +#else +# include "exv_conf.h" +#endif + #include "exif.hpp" #include "types.hpp" #include "basicio.hpp" diff --git a/src/olympusmn.cpp b/src/olympusmn.cpp index cbed20d7..0aa6f7e6 100644 --- a/src/olympusmn.cpp +++ b/src/olympusmn.cpp @@ -186,7 +186,7 @@ namespace Exiv2 { OlympusMakerNote::AutoPtr OlympusMakerNote::clone() const { - return AutoPtr(clone()); + return AutoPtr(clone_()); } OlympusMakerNote* OlympusMakerNote::clone_() const