Fixed offset adjustment in IfdMakernote::copy

v0.27.3
Andreas Huggel 21 years ago
parent 102d1a9ba4
commit abc73c4cb1

@ -20,13 +20,13 @@
*/ */
/* /*
File: makernote.cpp File: makernote.cpp
Version: $Name: $ $Revision: 1.21 $ Version: $Name: $ $Revision: 1.22 $
Author(s): Andreas Huggel (ahu) <ahuggel@gmx.net> Author(s): Andreas Huggel (ahu) <ahuggel@gmx.net>
History: 18-Feb-04, ahu: created History: 18-Feb-04, ahu: created
*/ */
// ***************************************************************************** // *****************************************************************************
#include "rcsid.hpp" #include "rcsid.hpp"
EXIV2_RCSID("@(#) $Name: $ $Revision: 1.21 $ $RCSfile: makernote.cpp,v $") EXIV2_RCSID("@(#) $Name: $ $Revision: 1.22 $ $RCSfile: makernote.cpp,v $")
// Define DEBUG_* to output debug information to std::cerr // Define DEBUG_* to output debug information to std::cerr
#undef DEBUG_MAKERNOTE #undef DEBUG_MAKERNOTE
@ -212,10 +212,12 @@ namespace Exiv2 {
offset_ = offset; offset_ = offset;
// Set byte order if none is set yet // Set byte order if none is set yet
if (byteOrder_ == invalidByteOrder) byteOrder_ = byteOrder; if (byteOrder_ == invalidByteOrder) byteOrder_ = byteOrder;
// Adjust the offset
offset = absOffset_ ? offset + adjOffset_ : adjOffset_;
long len = 0; long len = 0;
len += copyHeader(buf); len += copyHeader(buf);
len += ifd_.copy(buf + len, byteOrder_, offset_); len += ifd_.copy(buf + len, byteOrder_, offset);
return len; return len;
} // IfdMakerNote::copy } // IfdMakerNote::copy

Loading…
Cancel
Save