fix print format

Allows the compiler to actually diagnose formats.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
Rosen Penev 2023-05-05 03:43:06 -07:00
parent c86ae6acf5
commit 37184fd713
5 changed files with 21 additions and 21 deletions

View File

@ -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

View File

@ -13,9 +13,9 @@
#include <string>
#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

View File

@ -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<size_t>(box.length))
out << Internal::stringFormat("%8zd | %8zd | ", position - boxHSize, static_cast<size_t>(box.length))
<< toAscii(box.type) << " | ";
bLF = true;
if (box.type == kJp2BoxTypeClose)

View File

@ -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)

View File

@ -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<char*>(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<char*>(&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<char*>(&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<char*>(&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<char*>(&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;
}
}