4129 Commits (dd445e6c8df9389f0ce49f2913a28e828f092dea)

Author SHA1 Message Date
Rosen Penev 9aaeb893ee don't use w32 sockets for cygwin
Not needed.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 350541f22a manual replacement of [0] with front()
Avoids implicit array decay.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 5c90684441 simplify some defines
As far as I can tell, _WIN32 is defined for true Windows platforms.
Cygwin is a POSIX platform.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev f3b572d211 fix iconv handling and windows
WIN32 as a define is wrong. _WIN32 is the correct one.

Which opens up the issue of the used functions and the wrong logic.
Changed the function logic to use if and elif, as done later in the
code.

Also changed all usages of WIN32 with _WIN32

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev e41dd1d227 remove pointless UNUSED statement
Does not compile as it is no longer present.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 2b8ca5a9d7 fix compilation with mingw iconv
The parameter there is const. Use the appropriate macro.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Miloš Komarčević 7fa6d7378f Add Nikon3.WhiteBalanceBias2 3 years ago
Rosen Penev 306424f589 remove c_str for fs stuff
fs::path is convertable to a string.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev b8855fb3b5 misc sonarlint cleanups
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 1602afef0a const conversions
These were not const.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 5e20467e5c default init static variable
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev d4f04296e4 remove explicit constructor
No need.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev c64ed25c13 remove unused using
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 7b9ba51c4e enum class conversion
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 6e3db99755 simplify switch statement with returns
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Kevin Backhouse 2e8ce712ec Use emplace(). 3 years ago
Kevin Backhouse 166b5b834d Replace TiffTreeStruct with std::pair 3 years ago
Kevin Backhouse 3d38e11300 Remove unneeded constructor 3 years ago
Kevin Backhouse 67270c2b11 Use std::unordered_map for TiffTreeStruct lookup. 3 years ago
Kevin Backhouse be1c00c916 Suggestions from @neheb and @piponazo 3 years ago
Kevin Backhouse 71dfff5a69 Use a switch 3 years ago
Kevin Backhouse 7ec15d247e Use std::unordered_set for tiffImageTags 3 years ago
Rosen Penev 12b94bc420 get rid of extern const
Looks like some pre C++11 thing.

Also fix formatting of these by adding , at the end of the arrays.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Kevin Backhouse e831219d5c Correct error from #2301 3 years ago
Rosen Penev 938964f4d0 remove GroupName struct
No point in this.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Kevin Backhouse cc604780be
Merge pull request #2283 from kevinbackhouse/printStructure-depth
Convert type of depth parameter to size_t
3 years ago
Kevin Backhouse 09f61bc3d1 Suggestions from @neheb and @piponazo. 3 years ago
Kevin Backhouse 1fccceeba1 Use std::map for faster lookup. 3 years ago
Rosen Penev e74feff4d8 strcmp to == conversions
Does the same thing.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev d5e42da39e replace structs with std::pair
Simpler.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Luis Díaz Más 0256775408
Merge pull request #1949 from VJSchneid/main
add support for more fujifilm tags
3 years ago
Kevin Backhouse ee5dae4ddd Fix implicit cast warning. 3 years ago
Kevin Backhouse 4410f46214 Change the return type of the 2Data functions to size_t. 3 years ago
Viktor Schneider d62220a858 apply clang-format to src/fujimn_int.cpp 3 years ago
Viktor Schneider 73a1a0ec21 Merge remote-tracking branch 'origin' 3 years ago
Rosen Penev 1d0530f04d misc sonarlint changes
Mostly const changes.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Kevin Backhouse 8ba9003f19 Fix clang-tidy warning about double move. 3 years ago
Kevin Backhouse b0040e3bbe
Convert type of depth parameter to size_t. 3 years ago
Kevin Backhouse 0f1ea7571b
Refactor printTiffStructure depth increment 3 years ago
Kevin Backhouse 46f2ef8009
Refactor printIFDStructure depth increment 3 years ago
Kevin Backhouse 39239cef68
Merge pull request #2296 from kevinbackhouse/tiff-offset-size_t
Use size_t for the offset argument in TiffComponent
3 years ago
Kevin Backhouse 89040ad1de
Fix implicit type conversions. 3 years ago
Kevin Backhouse d8bd05f4e8
Use size_t 3 years ago
Kevin Backhouse beaee05062
Change type of sizeDataArea_ 3 years ago
Kevin Backhouse 30debd2635
Use size_t for the offset. 3 years ago
Rosen Penev e34395e095 replace shared_ptr with make_shared
The former creates a nullptr. The latter actually allocates.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev c03af98725 clang-tidy: use auto
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 5a08e33fd8 sonarlint: replace loop with find_if
Sonarlint complains about this loop for some reason. Convert to find_if
to fix.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev aae02babba sonarlint: replace lock_guard with scoped_lock
C++17 allows scoped_lock, which sonarlint recommends.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 5d2d47032b replace [0] with front() where applicable
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Kevin Backhouse 1958e70a71 Use int32_t in TimeValue 3 years ago
Kevin Backhouse 3db7598e29 Don't use long in floatToRationalCast 3 years ago
Rosen Penev 49679640e8 make_unique conversions
Requires pointer hack for MSVC.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 3ae1d3b48e return make_unique directly
Simpler

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 9ca7f861cf remove string_view from headers
This should allow usage with C++11 projects. It's also wrong. The only
user of this assigns an std::string from a string_view, which is not
safe.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 5479792d50 remove pointless &*
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev f3b08d506e const ref conversions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev a6c30dd1dd make upper the same as lower
Small cleanup

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev b8eaae649d use some auto
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev b793409eb6 find_if and lambda conversions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 932d59a984 find_if conversion
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 9766c4532d fix some gcc -Weffc++ warnings
Mostly deleted member functions

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 543c951bde clang-tidy: use '' for find
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Miloš Komarčević 4544fd826c Add more Nikon Z lenses 3 years ago
Miloš Komarčević ca5f88d519 Add Nikon LensData v0802 3 years ago
Rosen Penev 176210567f remove friend operator
Seems to be unused. It's also inconsistent between various clang-format
versions.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Peter 94f8889cd3
Update olympus tags (#2246) (#2249)
Update translation output of `Exif.OlympusCs.ArtFilter`/`Exif.OlympusCs.MagicFilter`, `Exif.OlympusCs.ImageStabilization` and `Exif.OlympusCs.WhiteBalance` tags.

Fix `Exif.OlympusCs.ImageStabilization` type from `unsignedShort` to `unsignedLong`.

Closes #2246.

Ref: Exiftool Olympus tags and Olympus E-M10 Mark II instuction manual.
3 years ago
Peter dc4ae73013
Add tag description option to exiv2 app (#2279)
* Add `tagDesc()` to (Exif|Xmp|Iptc) Datums and Keys
* Add `--Print d` option to exiv2 app
* Add testing for all exiv2 application `--Print` options
* Update manpage
3 years ago
Kevin Backhouse 05586628b2
Merge pull request #2276 from kevinbackhouse/TagInfo-enums
Move enums from tags_int.hpp to tags.hpp
3 years ago
Kevin Backhouse 3ef783e02a
Convert IfdId and SectionId to enum classes. 3 years ago
Kevin Backhouse 90f794f13e
Merge pull request #2277 from kevinbackhouse/iptcDataSegs
Simplify the iptcDataSegs logic in jpgimage.cpp
3 years ago
Kevin Backhouse 97e58a4573
Merge pull request #2267 from neheb/clang
mostly clang-tidy fixes
3 years ago
Kevin Backhouse 8e5b8113e7
Use emplace_back 3 years ago
Kevin Backhouse 2c31430ecd
Merge pull request #2275 from kevinbackhouse/vector-access
Fix some "unsafe vector access" warnings
3 years ago
Kevin Backhouse a608138f5f
Simplify the iptcDataSegs logic 3 years ago
Kevin Backhouse 62043c18ab
clang-format 3 years ago
Kevin Backhouse b9b2d7741b
Fix some "unsafe vector access" warnings. 3 years ago
Kevin Backhouse 3f7cb78a3b
Move enums from tags_int.hpp to tags.hpp 3 years ago
Kevin Backhouse 0c3da129f2
Replace assert with enforce. (Fix for https://github.com/Exiv2/exiv2/issues/2268) 3 years ago
Kevin Backhouse 7f673c766d
Fix some "signed shift" warnings 3 years ago
Rosen Penev 5be42f132c try to fix some fanalyzer warnings
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev c0083d6788 clang-tidy: fix mismatching declaration variable
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 7f9242afc6 clang-tidy: replace + with append()
Silences clang-tidy performance warning

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev fc1a398488 clang-tidy: remove const
It doesn't do what it's supposed to here.

Found with misc-misplaced-const

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 84555f1ad5 clang-tidy: no else after return
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Kevin Backhouse a5c521ea57
Merge pull request #2252 from neheb/2
clang-tidy: use default member init
3 years ago
Kevin Backhouse 60b3e28e0b
Merge pull request #2266 from kevinbackhouse/signed-shift
Fix some "signed shift" warnings
3 years ago
Kevin Backhouse 1ada360774 Fix some incorrect format specifiers. 3 years ago
Kevin Backhouse b3f2ab5988
Fix some "signed shift" warnings. 3 years ago
Kevin Backhouse 08a68c3606
Merge pull request #2251 from kevinbackhouse/basicio-ftell
Change return type of BasicIo::tell() to size_t
3 years ago
Kevin Backhouse 5e4eab0012
Merge pull request #2248 from Exiv2/hassec_fix_2247
fix naming of canon EF 35-80mm. closes #2247
3 years ago
Rosen Penev bae7da19ca clang-tidy: use default member init
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Miloš Komarčević c2fbff291e PNG: always strip the existing iCCP chunk 3 years ago
Kevin Backhouse ad4e13b827
Change return type of BasicIo::tell() to size_t. 3 years ago
Christoph Hasse 16d72c9945 fix naming of canon EF 35-80mm.closes #2247 3 years ago
Rosen Penev cf963e9e4d clang-tidy: C casts to C++
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev a98954a98e clang-tidy: add missing special member functions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev b4c90b5e16 clang-tidy: replace pointer magic with data()
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Miloš Komarčević 93dc63b389
Merge pull request #2215 from Exiv2/add_f_lenses
Add some F mount lenses
3 years ago
Miloš Komarčević e00422ae52 Account for header bytes for Exif and XMP boxes 3 years ago
Viktor Schneider e185c5843f use correct type for element counter in printFujiFaceElementTypes 3 years ago
Viktor Schneider 6bbaa31409 apply clang-format rules to fujimn_int.cpp 3 years ago
Viktor Schneider f3258027f4 fix some rebase issues 3 years ago
Viktor Schneider 88bc575b7b add comment that fujiColor value 512 differs from exiftool 3 years ago
Viktor Schneider b8e378b85e fix typo in fujiSharpness and prevent undefined behaviour when shifting signed values 3 years ago
Viktor Schneider 040b106b0a remove TODO entries 3 years ago
Viktor Schneider f9cbf2438a add some fujifilm tags from exiftool and extend TagDetails 3 years ago
Viktor Schneider 967f6a6265 remove redundant TagDetails and fix formatting
Co-authored-by: Miloš Komarčević <4973094+kmilos@users.noreply.github.com>
3 years ago
Viktor Schneider 21d07634ae print newer labels first when interpreting Fujifilm tags 3 years ago
Viktor Schneider c4ba70caeb remove auto range for DynamicRangeAuto setting 3 years ago
Viktor Schneider 4a3cf6b3de add support for more fujifilm tags 3 years ago
Rosen Penev 0dcd8605c9 fix mmap compilation
CI doesn't catch all cases failing.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Luis Díaz Más c9bdd6ed94
Merge pull request #2209 from Exiv2/mainTODOs
Improvements around TODO comments
3 years ago
Rosen Penev d59e1433c0 replace readlink with std::filesystem
Simpler.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Miloš Komarčević 707e22c577 Add some F mount lenses 3 years ago
Rosen Penev bd1758c3c5 remove some double pointer stuff
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 65c5b772c9 fix misplaced const
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev c9c2a1847b remove const std::function
std::move is used.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev a86bc386da reference conversions
There's no nullptr here.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 48f848f5bb clang-tidy: remove const params in decls
Found with readability-avoid-const-params-in-decls

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 2e721a716e std::function conversions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev a8061e7ee9 clang-tidy: default member init
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 151b54ab3e remove default constructor
This is rule of zero.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Luis Díaz Más 2b74cc885d Revert some boilerplate which is not needed 3 years ago
Luis Díaz Más d4ffcb9497 utils are in Internal namespace 3 years ago
Luis Díaz Más cc79051b79 Move 1-liner to header file 3 years ago
Luis Díaz Más ee855c0e71 Reduce amount of string transformations 3 years ago
Luis Díaz Más d5742f449b Move string helpers to utils 3 years ago
Luis Díaz Más 1a3e93856b More tests for rational convertions 3 years ago
Luis Díaz Más 8da71e7133 Test parseUint32 and fix it when number is out of limits 3 years ago
Luis Díaz Más 331924612e Remove duplication by using templates 3 years ago
Luis Díaz Más 2b91b5daf9 More tests for DataBuf read/write functions 3 years ago
Luis Díaz Más 6964f5f9f2 DataBuf::c_data() returns nullptr when empty + avoid duplication
After the previous commit, I realized that std::vector::data() also
returns nullptr when the vector is empty. So I decided to emulate this
behavior in DataBuf::c_data().

Anyways, the changes done in the previous commit are valid and allow us
to avoid some processing when the DataBuf is empty.
3 years ago
Luis Díaz Más c3d0100d48 Fixing bad usages of DataBuf (when it is empty) 3 years ago
Luis Díaz Más 4a4a8c544c Throwing when trying to access TooFar elements in DataBuf 3 years ago
Luis Díaz Más 941017d281
Fix issues on ARM builds (#2205)
* Specify base class initialization in Copy Constructor

* Fix printing of uint64_t variable in ARM 32bits

Use cinttypes

* Fix alignment issues on ARM 32 bits

* tests: add assertion with custom message
3 years ago
Rosen Penev 6203ded16f add constexpr constructor
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 8d2e1926ca remove unused class declarations
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Luis Díaz Más 25c47cd1cf
Merge pull request #2197 from Exiv2/mainRefactoringFormats
Refactoring in JpegImage and Photoshop classes
3 years ago
Luis Díaz Más f07c88de5d Use .front() to avoid warning from static analysis 3 years ago
Luis Díaz Más 4d99c2aca1 Use std::pair to return multiple values 3 years ago
Luis Díaz Más 4ee9c35799 Include missing iostream header in photoshop.cpp 3 years ago
Luis Díaz Más f942ba89bd Move Photoshopb class to internal namespace 3 years ago
Luis Diaz 047f6b733e Change logic to determine if segment has size
Note that the failing tests that had to be adapted were bad formed files
from FUZZERs. We should not consider invalid markers like 0x00 or 0x52
but only undefined APPn markers.
3 years ago
Luis Diaz 400632f27b Factor out function readSegmentSize() 3 years ago
Luis Diaz 24d2a7b8f0 JpegBase::markerHasLength moved to implementation details 3 years ago
Luis Diaz 23fe743d4d Move private constants to .cpp 3 years ago
Luis Diaz b00e460d76 Move static functions to anonymous namespace 3 years ago
Rosen Penev c997b09a81 algorithm conversions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev d789968e90 replace malloc/free with new/delete
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago