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

Maximiliano Curia maxy at moszumanska.debian.org
Thu Jul 13 17:39:01 UTC 2017


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

The following commit has been merged in the master branch:
commit 7c2e5a705a3350d1ebbac871b4df36481ad777a6
Author: Andreas Huggel <ahuggel at gmx.net>
Date:   Mon Oct 15 13:40:45 2007 +0000

    Updated test output, moved fix from prev rev into XmpParser.
---
 src/jpgimage.cpp             | 6 +-----
 src/xmp.cpp                  | 7 +++----
 src/xmp.hpp                  | 4 ++--
 test/data/xmpparser-test.out | 6 +++---
 4 files changed, 9 insertions(+), 14 deletions(-)

diff --git a/src/jpgimage.cpp b/src/jpgimage.cpp
index e2d4721..e44c83c 100644
--- a/src/jpgimage.cpp
+++ b/src/jpgimage.cpp
@@ -526,15 +526,11 @@ namespace Exiv2 {
                     }
                 }
                 if (writeXmpFromPacket() == false) {
-                    std::string tmpXmpPacket;
-                    if (XmpParser::encode(tmpXmpPacket, xmpData_)) {
+                    if (XmpParser::encode(xmpPacket_, xmpData_)) {
 #ifndef SUPPRESS_WARNINGS
                         std::cerr << "Error: Failed to encode XMP metadata.
";
 #endif
                     }
-                    else {
-                        xmpPacket_ = tmpXmpPacket;
-                    }
                 }
                 if (xmpPacket_.size() > 0) {
                     // Write APP1 marker, size of APP1 field, XMP id and XMP packet
diff --git a/src/xmp.cpp b/src/xmp.cpp
index 5635e64..b04ddbc 100644
--- a/src/xmp.cpp
+++ b/src/xmp.cpp
@@ -544,7 +544,6 @@ namespace Exiv2 {
     int XmpParser::encode(      std::string& xmpPacket,
                           const XmpData&     xmpData)
     { try {
-        xmpPacket.clear();
         if (xmpData.empty()) return 0;
 
         if (!initialize()) {
@@ -624,7 +623,9 @@ namespace Exiv2 {
             // Don't let any Xmpdatum go by unnoticed
             throw Error(38, i->tagName(), TypeInfo::typeName(i->typeId()));
         }
-        meta.SerializeToBuffer(&xmpPacket, kXMP_UseCompactFormat);
+        std::string tmpPacket;
+        meta.SerializeToBuffer(&tmpPacket, kXMP_UseCompactFormat); // throws
+        xmpPacket = tmpPacket;
 
         return 0;
     }
@@ -632,14 +633,12 @@ namespace Exiv2 {
 #ifndef SUPPRESS_WARNINGS
         std::cerr << Error(40, e.GetID(), e.GetErrMsg()) << "
";
 #endif
-        xmpPacket.clear();
         return 3;
     }} // XmpParser::decode
 #else
     int XmpParser::encode(      std::string& xmpPacket,
                           const XmpData&     xmpData)
     {
-        xmpPacket.clear();
         if (!xmpData.empty()) {
 #ifndef SUPPRESS_WARNINGS
             std::cerr << "Warning: XMP toolkit support not compiled in.
";
diff --git a/src/xmp.hpp b/src/xmp.hpp
index e4745c5..d2084c9 100644
--- a/src/xmp.hpp
+++ b/src/xmp.hpp
@@ -276,8 +276,8 @@ namespace Exiv2 {
         /*!
           @brief Encode (serialize) XMP metadata from \em xmpData into a
                  string xmpPacket. The XMP packet returned in the string
-                 follows the XMP specification. This method clears any 
-                 previous contents of \em xmpPacket.
+                 follows the XMP specification. This method only modifies
+                 \em xmpPacket if the operations succeeds (return code 0).
 
           @param xmpPacket Reference to a string to hold the encoded XMP
                            packet.
diff --git a/test/data/xmpparser-test.out b/test/data/xmpparser-test.out
index 7ae5e81..0e6ccdf 100644
--- a/test/data/xmpparser-test.out
+++ b/test/data/xmpparser-test.out
@@ -1,6 +1,6 @@
 -----> Decoding XMP data read from BlueSquare.xmp <-----
 Xmp.dc.format                                XmpText    10  image/jpeg
-Xmp.dc.title                                 LangAlt     3  lang="de-CH" Blaues Quadrat Test Datei - .jpg, lang="en-US" Blue Square Test File - .jpg, lang="x-default" Blue Square Test File - .jpg
+Xmp.dc.title                                 LangAlt     3  lang="x-default" Blue Square Test File - .jpg, lang="de-CH" Blaues Quadrat Test Datei - .jpg, lang="en-US" Blue Square Test File - .jpg
 Xmp.dc.description                           LangAlt     1  lang="x-default" XMPFiles BlueSquare test file, created in Photoshop CS2, saved as .psd, .jpg, and .tif.
 Xmp.dc.subject                               XmpBag      5  XMP, Blue Square, test file, Photoshop, .jpg
 Xmp.xmp.CreatorTool                          XmpText    29  Adobe Photoshop CS2 Macintosh
@@ -291,8 +291,8 @@ Xmp.dc.six                                   XmpText     5  false
 Xmp.dc.seven                                 XmpText     5  Seven
 Xmp.dc.format                                XmpText    10  image/jpeg
 Xmp.dc.creator                               XmpSeq      3  1) The first creator, 2) The second creator, 3) And another one
-Xmp.dc.description                           LangAlt     2  lang="de-DE" Hallo, Welt, lang="x-default" Hello, World
-Xmp.tiff.ImageDescription                    LangAlt     2  lang="de-DE" TIFF Bildbeschreibung, lang="x-default" TIFF image description
+Xmp.dc.description                           LangAlt     2  lang="x-default" Hello, World, lang="de-DE" Hallo, Welt
+Xmp.tiff.ImageDescription                    LangAlt     2  lang="x-default" TIFF image description, lang="de-DE" TIFF Bildbeschreibung
 Xmp.xmpDM.videoFrameSize/stDim:w             XmpText     2  16
 Xmp.xmpDM.videoFrameSize/stDim:h             XmpText     1  9
 Xmp.xmpDM.videoFrameSize/stDim:unit          XmpText     4  inch

-- 
exiv2 packaging



More information about the pkg-kde-commits mailing list