[SCM] exiv2 packaging branch, master, updated. debian/0.25-3.1-3734-gdcbc29a
Maximiliano Curia
maxy at moszumanska.debian.org
Thu Jul 13 17:46:56 UTC 2017
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=4585803
The following commit has been merged in the master branch:
commit 458580373a3136b7762fd3be95fd491773e1928f
Author: Robin Mills <robin at clanmills.com>
Date: Thu Sep 15 13:15:48 2016 +0000
#1108 Enhanced pngimage::printStructure() to display checksum
---
src/pngimage.cpp | 26 ++++++++++++++++++--------
1 file changed, 18 insertions(+), 8 deletions(-)
diff --git a/src/pngimage.cpp b/src/pngimage.cpp
index 800c422..2415538 100644
--- a/src/pngimage.cpp
+++ b/src/pngimage.cpp
@@ -220,15 +220,17 @@ namespace Exiv2 {
const std::string iccKey = "icc";
const std::string softKey = "Software";
- if ( option == kpsBasic || option == kpsRecursive ) {
+ bool bPrint = option == kpsBasic || option == kpsRecursive ;
+ if ( bPrint ) {
out << "STRUCTURE OF PNG FILE: " << io_->path() << std::endl;
- out << " address | index | chunk_type | length | data" << std::endl;
+ out << " address | index | chunk_type | length | data | checksum" << std::endl;
}
long index = 0;
const long imgSize = io_->size();
DataBuf cheaderBuf(8);
+
while( !io_->eof() && ::strcmp(chType,"IEND") ) {
size_t address = io_->tell();
@@ -259,11 +261,8 @@ namespace Exiv2 {
io_->read(buff.pData_,blen);
io_->seek(restore, BasicIo::beg);
dataString = Internal::binaryToString(buff, blen);
-
- if ( option == kpsBasic || option == kpsRecursive )
- out << Internal::stringFormat("%8d | %5d | %10s |%8d | "
- ,(uint32_t)address, index++,chType,dataOffset)
- << dataString << std::endl;
+ while ( dataString.size() < 32 ) dataString += ' ';
+ dataString = dataString.substr(0,30);
// chunk type
@@ -335,7 +334,18 @@ namespace Exiv2 {
}
delete[] data;
}
- io_->seek(dataOffset + 4 , BasicIo::cur);
+ io_->seek(dataOffset, BasicIo::cur);
+
+ byte checksum[4];
+ io_->read(checksum,4);
+ if ( bPrint ) {
+ out << Internal::stringFormat("%8d | %5d | %10s |%8d | "
+ ,(uint32_t)address, index++,chType,dataOffset)
+ << dataString
+ << Internal::stringFormat(" | 0x%02x%02x%02x%02x"
+ ,checksum[0],checksum[1],checksum[2],checksum[3])
+ << std::endl;
+ }
if (io_->error()) throw Error(14);
}
}
--
exiv2 packaging
More information about the pkg-kde-commits
mailing list