From 37184fd71330064a3e6f508110f998a69b3db37b Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Fri, 5 May 2023 03:43:06 -0700 Subject: [PATCH] fix print format Allows the compiler to actually diagnose formats. Signed-off-by: Rosen Penev --- src/bmffimage.cpp | 4 ++-- src/image_int.hpp | 4 ++-- src/jp2image.cpp | 2 +- src/jpgimage.cpp | 2 +- src/rafimage.cpp | 30 +++++++++++++++--------------- 5 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/bmffimage.cpp b/src/bmffimage.cpp index 3698d57e..ce61aeeb 100644 --- a/src/bmffimage.cpp +++ b/src/bmffimage.cpp @@ -265,7 +265,7 @@ uint64_t BmffImage::boxHandler(std::ostream& out /* = std::cout*/, Exiv2::PrintS if (bTrace) { bLF = true; out << Internal::indent(depth) << "Exiv2::BmffImage::boxHandler: " << toAscii(box_type) - << Internal::stringFormat(" %8ld->%" PRIu64 " ", address, box_length); + << Internal::stringFormat(" %8zd->%" PRIu64 " ", address, box_length); } if (box_length == 1) { @@ -435,7 +435,7 @@ uint64_t BmffImage::boxHandler(std::ostream& out /* = std::cout*/, Exiv2::PrintS uint32_t ldata = data.read_uint32(skip + step - 4, endian_); if (bTrace) { out << Internal::indent(depth) - << Internal::stringFormat("%8ld | %8ld | ID | %4u | %6u,%6u", address + skip, step, ID, offset, ldata) + << Internal::stringFormat("%8zd | %8zd | ID | %4u | %6u,%6u", address + skip, step, ID, offset, ldata) << std::endl; } // save data for post-processing in meta box diff --git a/src/image_int.hpp b/src/image_int.hpp index 1996fb81..be46273a 100644 --- a/src/image_int.hpp +++ b/src/image_int.hpp @@ -13,9 +13,9 @@ #include #if defined(__MINGW32__) -#define ATTRIBUTE_FORMAT_PRINTF __attribute__((format(__MINGW_PRINTF_FORMAT, 1, 0))) +#define ATTRIBUTE_FORMAT_PRINTF __attribute__((format(__MINGW_PRINTF_FORMAT, 1, 2))) #elif defined(__GNUC__) -#define ATTRIBUTE_FORMAT_PRINTF __attribute__((format(printf, 1, 0))) +#define ATTRIBUTE_FORMAT_PRINTF __attribute__((format(printf, 1, 2))) #else #define ATTRIBUTE_FORMAT_PRINTF #endif diff --git a/src/jp2image.cpp b/src/jp2image.cpp index 525f1b50..3be27094 100644 --- a/src/jp2image.cpp +++ b/src/jp2image.cpp @@ -411,7 +411,7 @@ void Jp2Image::printStructure(std::ostream& out, PrintStructureOption option, si Internal::enforce(box.length <= boxHSize + io_->size() - io_->tell(), ErrorCode::kerCorruptedMetadata); if (bPrint) { - out << Internal::stringFormat("%8ld | %8ld | ", position - boxHSize, static_cast(box.length)) + out << Internal::stringFormat("%8zd | %8zd | ", position - boxHSize, static_cast(box.length)) << toAscii(box.type) << " | "; bLF = true; if (box.type == kJp2BoxTypeClose) diff --git a/src/jpgimage.cpp b/src/jpgimage.cpp index 70d6f618..fc58b86d 100644 --- a/src/jpgimage.cpp +++ b/src/jpgimage.cpp @@ -294,7 +294,7 @@ void JpegBase::readMetadata() { #define REPORT_MARKER \ if ((option == kpsBasic || option == kpsRecursive)) \ - out << Internal::stringFormat("%8ld | 0xff%02x %-5s", io_->tell() - 2, marker, nm[marker].c_str()) + out << Internal::stringFormat("%8zd | 0xff%02x %-5s", io_->tell() - 2, marker, nm[marker].c_str()) void JpegBase::printStructure(std::ostream& out, PrintStructureOption option, size_t depth) { if (io_->open() != 0) diff --git a/src/rafimage.cpp b/src/rafimage.cpp index 0fcd7e11..faa53045 100644 --- a/src/rafimage.cpp +++ b/src/rafimage.cpp @@ -70,7 +70,7 @@ void RafImage::printStructure(std::ostream& out, PrintStructureOption option, si if (bPrint) { io_->seek(0, BasicIo::beg); // rewind size_t address = io_->tell(); - const auto format = " %8d | %8d | "; + const auto format = " %8zu | %8ld | "; { out << Internal::indent(depth) << "STRUCTURE OF RAF FILE: " << io().path() << std::endl; @@ -81,7 +81,7 @@ void RafImage::printStructure(std::ostream& out, PrintStructureOption option, si io_->read(magicdata, 16); magicdata[16] = 0; { - out << Internal::indent(depth) << Internal::stringFormat(format, address, 16, 0) + out << Internal::indent(depth) << Internal::stringFormat(format, address, 16L) // 0 << " magic : " << reinterpret_cast(magicdata) << std::endl; } @@ -90,7 +90,7 @@ void RafImage::printStructure(std::ostream& out, PrintStructureOption option, si io_->read(data1, 4); data1[4] = 0; { - out << Internal::indent(depth) << Internal::stringFormat(format, address, 4, 16) + out << Internal::indent(depth) << Internal::stringFormat(format, address, 4L) // 16 << " data1 : " << std::string(reinterpret_cast(&data1)) << std::endl; } @@ -99,7 +99,7 @@ void RafImage::printStructure(std::ostream& out, PrintStructureOption option, si io_->read(data2, 8); data2[8] = 0; { - out << Internal::indent(depth) << Internal::stringFormat(format, address, 8, 20) + out << Internal::indent(depth) << Internal::stringFormat(format, address, 8L) // 20 << " data2 : " << std::string(reinterpret_cast(&data2)) << std::endl; } @@ -108,7 +108,7 @@ void RafImage::printStructure(std::ostream& out, PrintStructureOption option, si io_->read(camdata, 32); camdata[32] = 0; { - out << Internal::indent(depth) << Internal::stringFormat(format, address, 32, 28) + out << Internal::indent(depth) << Internal::stringFormat(format, address, 32L) // 28 << " camera : " << std::string(reinterpret_cast(&camdata)) << std::endl; } @@ -117,7 +117,7 @@ void RafImage::printStructure(std::ostream& out, PrintStructureOption option, si io_->read(dir_version, 4); dir_version[4] = 0; { - out << Internal::indent(depth) << Internal::stringFormat(format, address, 4, 60) + out << Internal::indent(depth) << Internal::stringFormat(format, address, 4L) // 60 << " version : " << std::string(reinterpret_cast(&dir_version)) << std::endl; } @@ -125,7 +125,7 @@ void RafImage::printStructure(std::ostream& out, PrintStructureOption option, si DataBuf unknown(20); io_->read(unknown.data(), unknown.size()); { - out << Internal::indent(depth) << Internal::stringFormat(format, address, 20) + out << Internal::indent(depth) << Internal::stringFormat(format, address, 20L) << " unknown : " << Internal::binaryToString(makeSlice(unknown, 0, unknown.size())) << std::endl; } @@ -143,9 +143,9 @@ void RafImage::printStructure(std::ostream& out, PrintStructureOption option, si j_off << jpg_img_off; j_len << jpg_img_len; { - out << Internal::indent(depth) << Internal::stringFormat(format, address, 4) << "JPEG Offset : " << j_off.str() + out << Internal::indent(depth) << Internal::stringFormat(format, address, 4L) << "JPEG Offset : " << j_off.str() << std::endl; - out << Internal::indent(depth) << Internal::stringFormat(format, address2, 4) << "JPEG Length : " << j_len.str() + out << Internal::indent(depth) << Internal::stringFormat(format, address2, 4L) << "JPEG Length : " << j_len.str() << std::endl; } @@ -162,9 +162,9 @@ void RafImage::printStructure(std::ostream& out, PrintStructureOption option, si ch_off << cfa_hdr_off; ch_len << cfa_hdr_len; { - out << Internal::indent(depth) << Internal::stringFormat(format, address, 4) << " CFA Offset : " << ch_off.str() + out << Internal::indent(depth) << Internal::stringFormat(format, address, 4L) << " CFA Offset : " << ch_off.str() << std::endl; - out << Internal::indent(depth) << Internal::stringFormat(format, address2, 4) << " CFA Length : " << ch_len.str() + out << Internal::indent(depth) << Internal::stringFormat(format, address2, 4L) << " CFA Length : " << ch_len.str() << std::endl; } @@ -181,9 +181,9 @@ void RafImage::printStructure(std::ostream& out, PrintStructureOption option, si c_off << cfa_off; c_len << cfa_len; { - out << Internal::indent(depth) << Internal::stringFormat(format, address, 4) << "TIFF Offset : " << c_off.str() + out << Internal::indent(depth) << Internal::stringFormat(format, address, 4L) << "TIFF Offset : " << c_off.str() << std::endl; - out << Internal::indent(depth) << Internal::stringFormat(format, address2, 4) << "TIFF Length : " << c_len.str() + out << Internal::indent(depth) << Internal::stringFormat(format, address2, 4L) << "TIFF Length : " << c_len.str() << std::endl; } @@ -200,7 +200,7 @@ void RafImage::printStructure(std::ostream& out, PrintStructureOption option, si address = io_->tell(); io_->read(payload.data(), payload.size()); { - out << Internal::indent(depth) << Internal::stringFormat(format, address, cfa_hdr_len, cfa_hdr_off) + out << Internal::indent(depth) << Internal::stringFormat(format, address, cfa_hdr_len) // cfa_hdr_off << " CFA : " << Internal::binaryToString(makeSlice(payload, 0, payload.size())) << std::endl; } @@ -208,7 +208,7 @@ void RafImage::printStructure(std::ostream& out, PrintStructureOption option, si address = io_->tell(); io_->read(payload.data(), payload.size()); { - out << Internal::indent(depth) << Internal::stringFormat(format, address, cfa_len, cfa_off) + out << Internal::indent(depth) << Internal::stringFormat(format, address, cfa_len) // cfa_off << " TIFF : " << Internal::binaryToString(makeSlice(payload, 0, payload.size())) << std::endl; } }