Fixed ExifData::eraseThumbnail(). Bug #401

This commit is contained in:
Andreas Huggel 2004-12-05 04:13:00 +00:00
parent 8d55819ff0
commit 4b86ee4583

View File

@ -736,6 +736,8 @@ namespace Exiv2 {
long ExifData::eraseThumbnail()
{
// First, determine if the thumbnail is at the end of the Exif data
bool stp = stdThumbPosition();
// Delete all Exif.Thumbnail.* (IFD1) metadata
ExifMetadata::iterator i = begin();
while (i != end()) {
@ -747,12 +749,13 @@ namespace Exiv2 {
}
}
long delta = 0;
if (stdThumbPosition()) {
if (stp) {
delta = size_;
if (size_ > 0 && ifd0_.next() > 0) {
// Truncate IFD1 and thumbnail data from the data buffer
size_ = ifd0_.next();
ifd0_.setNext(0, byteOrder());
ifd1_.clear();
}
delta -= size_;
}