[SCM] exiv2 packaging branch, master, updated. debian/0.25-3.1-3734-gdcbc29a

Maximiliano Curia maxy at moszumanska.debian.org
Thu Jul 13 17:40:31 UTC 2017


Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=1c2dd76

The following commit has been merged in the master branch:
commit 1c2dd764f88e9e3cca9d6ba10cd571731ac294ae
Author: Andreas Huggel <ahuggel at gmx.net>
Date:   Thu May 28 11:35:01 2009 +0000

    #636: Do not change makernote byte order unless requested. By default, use the same byte order as that of the image (for new makernote metadata). Right now, the only makernote that has its own byte order is Nikon3. Also added missing padding to IPTC binary data for Exif.Image.IPTCNAA.
---
 src/makernote.cpp         | 61 +++++++++++++++++++++++++++++---------
 src/makernote_int.hpp     | 41 ++++++++++++++++----------
 src/tiffimage.cpp         |  4 +--
 src/tiffimage_int.hpp     |  3 +-
 src/tiffvisitor.cpp       | 74 +++++++++++++++++++++++++++++++++++++++++------
 test/data/write2-test.out |  4 +--
 6 files changed, 144 insertions(+), 43 deletions(-)

diff --git a/src/makernote.cpp b/src/makernote.cpp
index 595f48a..988dee3 100644
--- a/src/makernote.cpp
+++ b/src/makernote.cpp
@@ -118,6 +118,23 @@ namespace Exiv2 {
         return tc;
     } // TiffMnCreator::create
 
+    void MnHeader::setByteOrder(ByteOrder /*byteOrder*/)
+    {
+    }
+
+    TiffIfdMakernote::TiffIfdMakernote(uint16_t  tag,
+                                       uint16_t  group,
+                                       uint16_t  mnGroup,
+                                       MnHeader* pHeader,
+                                       bool      hasNext)
+        : TiffComponent(tag, group),
+          pHeader_(pHeader),
+          ifd_(tag, mnGroup, hasNext),
+          mnOffset_(0),
+          imageByteOrder_(invalidByteOrder)
+    {
+    }
+
     TiffIfdMakernote::~TiffIfdMakernote()
     {
         delete pHeader_;
@@ -131,8 +148,10 @@ namespace Exiv2 {
 
     ByteOrder TiffIfdMakernote::byteOrder() const
     {
-        if (byteOrder_ != invalidByteOrder) return byteOrder_;
-        if (!pHeader_) return invalidByteOrder;
+        assert(imageByteOrder_ != invalidByteOrder);
+        if (!pHeader_ || pHeader_->byteOrder() == invalidByteOrder) {
+            return imageByteOrder_;
+        }
         return pHeader_->byteOrder();
     }
 
@@ -155,6 +174,11 @@ namespace Exiv2 {
         return pHeader_->read(pData, size, byteOrder);
     }
 
+    void TiffIfdMakernote::setByteOrder(ByteOrder byteOrder)
+    {
+        if (pHeader_) pHeader_->setByteOrder(byteOrder);
+    }
+
     uint32_t TiffIfdMakernote::sizeHeader() const
     {
         if (!pHeader_) return 0;
@@ -198,11 +222,9 @@ namespace Exiv2 {
                                        uint32_t& imageIdx)
     {
         mnOffset_ = offset;
-        if (this->byteOrder() != invalidByteOrder) {
-            byteOrder = this->byteOrder();
-        }
-        uint32_t len = writeHeader(blob, byteOrder);
-        len += ifd_.write(blob, byteOrder,
+        setImageByteOrder(byteOrder);
+        uint32_t len = writeHeader(blob, this->byteOrder());
+        len += ifd_.write(blob, this->byteOrder(),
                           offset - baseOffset() + len,
                           uint32_t(-1), uint32_t(-1),
                           imageIdx);
@@ -391,14 +413,17 @@ namespace Exiv2 {
     } // Nikon2MnHeader::write
 
     const byte Nikon3MnHeader::signature_[] = {
-        'N', 'i', 'k', 'o', 'n', '

-- 
exiv2 packaging



More information about the pkg-kde-commits mailing list