Skip to content

Commit 4355d63

Browse files
committed
More conversions to size_t while removing static_casts
1 parent 7576a27 commit 4355d63

19 files changed

+120
-190
lines changed

include/exiv2/image.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ namespace Exiv2 {
2222

2323
//! Native preview information. This is meant to be used only by the PreviewManager.
2424
struct NativePreview {
25-
long position_; //!< Position
26-
uint32_t size_; //!< Size
27-
uint32_t width_; //!< Width
28-
uint32_t height_; //!< Height
25+
size_t position_; //!< Position
26+
size_t size_; //!< Size
27+
size_t width_; //!< Width
28+
size_t height_; //!< Height
2929
std::string filter_; //!< Filter
3030
std::string mimeType_; //!< MIME type
3131
};

include/exiv2/orfimage.hpp

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -82,21 +82,15 @@ namespace Exiv2 {
8282
with data in ORF format to the provided metadata containers.
8383
See TiffParser::decode().
8484
*/
85-
static ByteOrder decode(
86-
ExifData& exifData,
87-
IptcData& iptcData,
88-
XmpData& xmpData,
89-
const byte* pData,
90-
uint32_t size
91-
);
85+
static ByteOrder decode(ExifData& exifData, IptcData& iptcData, XmpData& xmpData, const byte* pData,
86+
size_t size);
9287
/*!
9388
@brief Encode metadata from the provided metadata to ORF format.
9489
See TiffParser::encode().
9590
*/
96-
static WriteMethod encode(
97-
BasicIo& io,
91+
static WriteMethod encode(BasicIo& io,
9892
const byte* pData,
99-
uint32_t size,
93+
size_t size,
10094
ByteOrder byteOrder,
10195
const ExifData& exifData,
10296
const IptcData& iptcData,

include/exiv2/pgfimage.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ namespace Exiv2
7777
//! Read Magick number. Only version >= 6 is supported.
7878
static byte readPgfMagicNumber(BasicIo& iIo);
7979
//! Read PGF Header size encoded in 32 bits integer.
80-
uint32_t readPgfHeaderSize(BasicIo& iIo) const;
80+
size_t readPgfHeaderSize(BasicIo& iIo) const;
8181
//! Read header structure.
8282
DataBuf readPgfHeaderStructure(BasicIo& iIo, uint32_t& width, uint32_t& height) const;
8383
//@}

include/exiv2/preview.hpp

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,14 @@ namespace Exiv2 {
2121
/*!
2222
@brief Preview image properties.
2323
*/
24-
struct EXIV2API PreviewProperties {
25-
//! Preview image mime type.
26-
std::string mimeType_;
27-
//! Preview image extension.
28-
std::string extension_;
29-
//! Preview image size in bytes.
30-
size_t size_;
31-
//! Preview image width in pixels or 0 for unknown width.
32-
uint32_t width_;
33-
//! Preview image height in pixels or 0 for unknown height.
34-
uint32_t height_;
35-
//! Identifies type of preview image.
36-
PreviewId id_;
24+
struct EXIV2API PreviewProperties
25+
{
26+
std::string mimeType_; //!< Preview image mime type.
27+
std::string extension_; //!< Preview image extension.
28+
size_t size_; //!< Preview image size in bytes.
29+
size_t width_; //!< Preview image width in pixels or 0 for unknown width.
30+
size_t height_; //!< Preview image height in pixels or 0 for unknown height.
31+
PreviewId id_; //!< Identifies type of preview image.
3732
};
3833

3934
//! Container type to hold all preview images metadata.
@@ -97,11 +92,11 @@ namespace Exiv2 {
9792
/*!
9893
@brief Return the width of the preview image in pixels.
9994
*/
100-
uint32_t width() const;
95+
size_t width() const;
10196
/*!
10297
@brief Return the height of the preview image in pixels.
10398
*/
104-
uint32_t height() const;
99+
size_t height() const;
105100
/*!
106101
@brief Return the preview image type identifier.
107102
*/

include/exiv2/rw2image.hpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,11 @@ namespace Exiv2 {
9595
with data in RW2 format to the provided metadata containers.
9696
See TiffParser::decode().
9797
*/
98-
static ByteOrder decode(
99-
ExifData& exifData,
98+
static ByteOrder decode(ExifData& exifData,
10099
IptcData& iptcData,
101100
XmpData& xmpData,
102101
const byte* pData,
103-
uint32_t size
102+
size_t size
104103
);
105104

106105
}; // class Rw2Parser

include/exiv2/tiffimage.hpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,10 +152,9 @@ namespace Exiv2 {
152152
153153
@return Write method used.
154154
*/
155-
static WriteMethod encode(
156-
BasicIo& io,
155+
static WriteMethod encode(BasicIo& io,
157156
const byte* pData,
158-
uint32_t size,
157+
size_t size,
159158
ByteOrder byteOrder,
160159
const ExifData& exifData,
161160
const IptcData& iptcData,

src/makernote_int.cpp

Lines changed: 21 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -221,9 +221,8 @@ namespace Exiv2::Internal {
221221
return false;
222222
header_.alloc(sizeOfSignature());
223223
header_.copyBytes(0, pData, header_.size());
224-
return !(static_cast<uint32_t>(header_.size()) < sizeOfSignature() ||
225-
0 != header_.cmpBytes(0, signature_, 6));
226-
} // OlympusMnHeader::read
224+
return !(header_.size() < sizeOfSignature() || 0 != header_.cmpBytes(0, signature_, 6));
225+
}
227226

228227
size_t OlympusMnHeader::write(IoWrapper& ioWrapper, ByteOrder /*byteOrder*/) const
229228
{
@@ -266,9 +265,8 @@ namespace Exiv2::Internal {
266265
return false;
267266
header_.alloc(sizeOfSignature());
268267
header_.copyBytes(0, pData, header_.size());
269-
return !(static_cast<uint32_t>(header_.size()) < sizeOfSignature() ||
270-
0 != header_.cmpBytes(0, signature_, 10));
271-
} // Olympus2MnHeader::read
268+
return !(header_.size() < sizeOfSignature() || 0 != header_.cmpBytes(0, signature_, 10));
269+
}
272270

273271
size_t Olympus2MnHeader::write(IoWrapper& ioWrapper,
274272
ByteOrder /*byteOrder*/) const
@@ -321,9 +319,8 @@ namespace Exiv2::Internal {
321319
// Read offset to the IFD relative to the start of the makernote
322320
// from the header. Note that we ignore the byteOrder argument
323321
start_ = header_.read_uint32(8, byteOrder_);
324-
return !(static_cast<uint32_t>(header_.size()) < sizeOfSignature() ||
325-
0 != header_.cmpBytes(0, signature_, 8));
326-
} // FujiMnHeader::read
322+
return !(header_.size() < sizeOfSignature() || 0 != header_.cmpBytes(0, signature_, 8));
323+
}
327324

328325
size_t FujiMnHeader::write(IoWrapper& ioWrapper,
329326
ByteOrder /*byteOrder*/) const
@@ -426,8 +423,7 @@ namespace Exiv2::Internal {
426423
return true;
427424
} // Nikon3MnHeader::read
428425

429-
size_t Nikon3MnHeader::write(IoWrapper& ioWrapper,
430-
ByteOrder byteOrder) const
426+
size_t Nikon3MnHeader::write(IoWrapper& ioWrapper, ByteOrder byteOrder) const
431427
{
432428
assert(buf_.size() >= 10);
433429

@@ -436,8 +432,8 @@ namespace Exiv2::Internal {
436432
TiffHeader th(byteOrder);
437433
DataBuf buf = th.write();
438434
ioWrapper.write(buf.c_data(), buf.size());
439-
return 10 + static_cast<uint32_t>(buf.size());
440-
} // Nikon3MnHeader::write
435+
return 10 + buf.size();
436+
}
441437

442438
void Nikon3MnHeader::setByteOrder(ByteOrder byteOrder)
443439
{
@@ -514,16 +510,14 @@ namespace Exiv2::Internal {
514510
return sizeOfSignature();
515511
}
516512

517-
bool PentaxDngMnHeader::read(const byte* pData,
518-
size_t size,
519-
ByteOrder /*byteOrder*/)
513+
bool PentaxDngMnHeader::read(const byte* pData, size_t size, ByteOrder /*byteOrder*/)
520514
{
521-
if (!pData || size < sizeOfSignature()) return false;
515+
if (!pData || size < sizeOfSignature())
516+
return false;
522517
header_.alloc(sizeOfSignature());
523518
header_.copyBytes(0, pData, header_.size());
524-
return !(static_cast<uint32_t>(header_.size()) < sizeOfSignature() ||
525-
0 != header_.cmpBytes(0, signature_, 7));
526-
} // PentaxDngMnHeader::read
519+
return !(header_.size() < sizeOfSignature() || 0 != header_.cmpBytes(0, signature_, 7));
520+
}
527521

528522
size_t PentaxDngMnHeader::write(IoWrapper& ioWrapper,
529523
ByteOrder /*byteOrder*/) const
@@ -556,23 +550,20 @@ namespace Exiv2::Internal {
556550
return sizeOfSignature();
557551
}
558552

559-
bool PentaxMnHeader::read(const byte* pData,
560-
size_t size,
561-
ByteOrder /*byteOrder*/)
553+
bool PentaxMnHeader::read(const byte* pData, size_t size, ByteOrder /*byteOrder*/)
562554
{
563-
if (!pData || size < sizeOfSignature()) return false;
555+
if (!pData || size < sizeOfSignature())
556+
return false;
564557
header_.alloc(sizeOfSignature());
565558
header_.copyBytes(0, pData, header_.size());
566-
return !(static_cast<uint32_t>(header_.size()) < sizeOfSignature() ||
567-
0 != header_.cmpBytes(0, signature_, 3));
568-
} // PentaxMnHeader::read
559+
return !(header_.size() < sizeOfSignature() || 0 != header_.cmpBytes(0, signature_, 3));
560+
}
569561

570-
size_t PentaxMnHeader::write(IoWrapper& ioWrapper,
571-
ByteOrder /*byteOrder*/) const
562+
size_t PentaxMnHeader::write(IoWrapper& ioWrapper, ByteOrder /*byteOrder*/) const
572563
{
573564
ioWrapper.write(signature_, sizeOfSignature());
574565
return sizeOfSignature();
575-
} // PentaxMnHeader::write
566+
}
576567

577568
SamsungMnHeader::SamsungMnHeader()
578569
{

src/olympusmn_int.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1173,7 +1173,7 @@ namespace Exiv2::Internal {
11731173
return os << value;
11741174
}
11751175
if (value.count() == 1) {
1176-
auto l0 = static_cast<short>(value.toInt64(0));
1176+
auto l0 = value.toInt64(0);
11771177
if (l0 == 1) {
11781178
os << _("Auto");
11791179
}
@@ -1182,8 +1182,8 @@ namespace Exiv2::Internal {
11821182
}
11831183
}
11841184
else if (value.count() == 2) {
1185-
auto l0 = static_cast<short>(value.toInt64(0));
1186-
auto l1 = static_cast<short>(value.toInt64(1));
1185+
auto l0 = value.toInt64(0);
1186+
auto l1 = value.toInt64(1);
11871187
if (l0 == 1) {
11881188
switch (l1) {
11891189
case 0: os << _("Auto"); break;

src/orfimage.cpp

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,9 @@ namespace Exiv2 {
8686
throw Error(ErrorCode::kerNotAnImage, "ORF");
8787
}
8888
clearMetadata();
89-
ByteOrder bo =
90-
OrfParser::decode(exifData_, iptcData_, xmpData_, io_->mmap(), static_cast<uint32_t>(io_->size()));
89+
ByteOrder bo = OrfParser::decode(exifData_, iptcData_, xmpData_, io_->mmap(), io_->size());
9190
setByteOrder(bo);
92-
} // OrfImage::readMetadata
91+
}
9392

9493
void OrfImage::writeMetadata()
9594
{
@@ -98,13 +97,13 @@ namespace Exiv2 {
9897
#endif
9998
ByteOrder bo = byteOrder();
10099
byte* pData = nullptr;
101-
long size = 0;
100+
size_t size = 0;
102101
IoCloser closer(*io_);
103102
if (io_->open() == 0) {
104103
// Ensure that this is the correct image type
105104
if (isOrfType(*io_, false)) {
106105
pData = io_->mmap(true);
107-
size = static_cast<long>(io_->size());
106+
size = io_->size();
108107
OrfHeader orfHeader;
109108
if (0 == orfHeader.read(pData, 8)) {
110109
bo = orfHeader.byteOrder();
@@ -118,13 +117,8 @@ namespace Exiv2 {
118117
OrfParser::encode(*io_, pData, size, bo, exifData_, iptcData_, xmpData_); // may throw
119118
} // OrfImage::writeMetadata
120119

121-
ByteOrder OrfParser::decode(
122-
ExifData& exifData,
123-
IptcData& iptcData,
124-
XmpData& xmpData,
125-
const byte* pData,
126-
uint32_t size
127-
)
120+
ByteOrder OrfParser::decode(ExifData& exifData, IptcData& iptcData, XmpData& xmpData, const byte* pData,
121+
size_t size)
128122
{
129123
OrfHeader orfHeader;
130124
return TiffParserWorker::decode(exifData,
@@ -140,7 +134,7 @@ namespace Exiv2 {
140134
WriteMethod OrfParser::encode(
141135
BasicIo& io,
142136
const byte* pData,
143-
uint32_t size,
137+
size_t size,
144138
ByteOrder byteOrder,
145139
const ExifData& exifData,
146140
const IptcData& iptcData,

src/pgfimage.cpp

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -94,16 +94,12 @@ namespace Exiv2 {
9494

9595
readPgfMagicNumber(*io_);
9696

97-
uint32_t headerSize = readPgfHeaderSize(*io_);
97+
size_t headerSize = readPgfHeaderSize(*io_);
9898
readPgfHeaderStructure(*io_, pixelWidth_, pixelHeight_);
9999

100100
// And now, the most interesting, the user data byte array where metadata are stored as small image.
101101

102-
enforce(headerSize <= std::numeric_limits<uint32_t>::max() - 8, ErrorCode::kerCorruptedMetadata);
103-
#if LONG_MAX < UINT_MAX
104-
enforce(headerSize + 8 <= static_cast<uint32_t>(std::numeric_limits<long>::max()),
105-
ErrorCode::kerCorruptedMetadata);
106-
#endif
102+
enforce(headerSize <= std::numeric_limits<size_t>::max() - 8, ErrorCode::kerCorruptedMetadata);
107103
long size = static_cast<long>(headerSize) + 8 - io_->tell();
108104

109105
#ifdef EXIV2_DEBUG_MESSAGES
@@ -175,7 +171,7 @@ namespace Exiv2 {
175171
img->setIptcData(iptcData_);
176172
img->setXmpData(xmpData_);
177173
img->writeMetadata();
178-
auto imgSize = static_cast<long>(img->io().size());
174+
size_t imgSize = img->io().size();
179175
DataBuf imgBuf = img->io().read(imgSize);
180176

181177
#ifdef EXIV2_DEBUG_MESSAGES
@@ -185,13 +181,15 @@ namespace Exiv2 {
185181
//---------------------------------------------------------------
186182

187183
// Write PGF Signature.
188-
if (outIo.write(pgfSignature, 3) != 3) throw Error(ErrorCode::kerImageWriteFailed);
184+
if (outIo.write(pgfSignature, 3) != 3)
185+
throw Error(ErrorCode::kerImageWriteFailed);
189186

190187
// Write Magic number.
191-
if (outIo.putb(mnb) == EOF) throw Error(ErrorCode::kerImageWriteFailed);
188+
if (outIo.putb(mnb) == EOF)
189+
throw Error(ErrorCode::kerImageWriteFailed);
192190

193191
// Write new Header size.
194-
uint32_t newHeaderSize = static_cast<uint32_t>(header.size()) + imgSize;
192+
uint32_t newHeaderSize = static_cast<uint32_t>(header.size() + imgSize);
195193
DataBuf buffer(4);
196194
buffer.copyBytes(0, &newHeaderSize, 4);
197195
byteSwap_(buffer,0,bSwap_);
@@ -242,7 +240,7 @@ namespace Exiv2 {
242240
return b;
243241
} // PgfImage::readPgfMagicNumber
244242

245-
uint32_t PgfImage::readPgfHeaderSize(BasicIo& iIo) const
243+
size_t PgfImage::readPgfHeaderSize(BasicIo& iIo) const
246244
{
247245
DataBuf buffer(4);
248246
const size_t bufRead = iIo.read(buffer.data(), buffer.size());
@@ -251,15 +249,16 @@ namespace Exiv2 {
251249
if (bufRead != buffer.size())
252250
throw Error(ErrorCode::kerInputDataReadFailed);
253251

254-
auto headerSize = static_cast<int>(byteSwap_(buffer, 0, bSwap_));
255-
if (headerSize <= 0 ) throw Error(ErrorCode::kerNoImageInInputData);
252+
auto headerSize = static_cast<size_t>(byteSwap_(buffer, 0, bSwap_));
253+
if (headerSize == 0 )
254+
throw Error(ErrorCode::kerNoImageInInputData);
256255

257256
#ifdef EXIV2_DEBUG_MESSAGES
258257
std::cout << "Exiv2::PgfImage: PGF header size : " << headerSize << " bytes\n";
259258
#endif
260259

261260
return headerSize;
262-
} // PgfImage::readPgfHeaderSize
261+
}
263262

264263
DataBuf PgfImage::readPgfHeaderStructure(BasicIo& iIo, uint32_t& width, uint32_t& height) const
265264
{

0 commit comments

Comments
 (0)