143 Commits (c04dcc8341faa1e2e71ff99cbf2048ce8e5102a8)

Author SHA1 Message Date
Rosen Penev 6fd143d6a4 sonarlint cleanups
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 9322f137aa don't compile WIN32 stuff when iconv is present
MinGW has iconv, so this block of code can go away.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 357d970425 get rid of EXV_CALL_MEMBER_FN
std::invoke can be used.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 9ae339d39f clang: fix various documentation errors
Found with -Wdocumentation

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 22b12012a6 more SonarLint cleanups
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 725875497b SonarLint cleanups 2 years ago
Rosen Penev 2ddf00e7a2 use EXV_ICONV_CONST
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev b8d4b9c6ea remove manual math
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 7fd7ee62a3 std::find to find template
std::find in C++20 can use ranges, which is equivalent here. Less error
prone.

Namespace is properly to avoid any conflicts with std::find or others

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 6976aab5bd replace substr with resize/pop_back
Shorter and more efficient.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev bb311ba728 clang-tidy on Windows
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev d458bf2540 clang-tidy: apply to newly merged stuff
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Peter 1f364be1fa
Fix seg fault when using `iconv_open()` (#2403)
* Fix seg fault when using `iconv_open()`

- Fix failure condition for `iconv_open()`
- Add new exception when failing to change the text encoding of an
Exif comment

* Add testing for `iconv_open()` seg fault bug

* Fix Python test by changing log level
3 years ago
Kevin Backhouse abd817d181 Use size_t for sizes and offsets. 3 years ago
Rosen Penev d856ca7d82 cland-tidy: simplify booleans
Found with readability-simplify-boolean-expr

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 71dc04ebb1 misc sonarlint stuff
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev b6c2062fae std::to_string conversions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev fc840405cc revert std::function back to function pointers
The former has too much overhead. No point in it.

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
Kevin Backhouse 97e58a4573
Merge pull request #2267 from neheb/clang
mostly clang-tidy fixes
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 cf963e9e4d clang-tidy: C casts to C++
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev fdfcde5e4b structured binding conversions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev e82be13b73 C to std::function
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev dfb93dd8cd clang-tidy: use C++ headers
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 9f67620503 clang-tidy: add more nodiscard
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Luis Díaz Más 30bf563f4d Update .clang-format file & apply clang-format to whole project 3 years ago
Rosen Penev b2b6d834ba
some std::array conversions (#2148)
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Luis Diaz 7576a2757b More size_t for sizes 3 years ago
Luis Díaz Más c115d4daf7
Merge pull request #2131 from Exiv2/mainCleanups
Include what you use + more SPDX identifiers + few other cleanups
3 years ago
Rosen Penev 8dadcdf72a manual nullptr removals
unique_ptr has a bool overload. It's also easier to reason about.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev b8304fffa4 clang-tidy: don't use C casts
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Luis Díaz Más 2834fa5f05 Use [[maybe_unused]] 3 years ago
Luis Díaz Más 8b1fe379a1 Removing unused headers thanks to IWYU 3 years ago
Rosen Penev 04bacdedd6 clang-tidy: use auto
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Luis Díaz Más b17828b454
Use SPDX for licenses (#2122)
* Use SPDX identifier in header files

* Use SPDX identifier in rest of source files

* Fix usage of SPDX for files with 2 licenses

* Add global license file

* Fix compilation
3 years ago
Luis Díaz Más 208ec70df8 Fix windows builds 3 years ago
Luis Díaz Más 12738214f2 Fix warnings and place return statements separated from if 3 years ago
Luis Díaz Más b9f9d041ea Several transformations on DataBuf + migration to size_t
- Provide begin/end iterators to DataBuf and simplify code
- Adapt test output after last changes
- Replacing long by size_t in value.hpp
- Use size_t in some Photoshop functions
- Remove some static_casts
3 years ago
Luis Díaz Más c5a9dfd9af
Merge pull request #2109 from Exiv2/main_StringView
Refactoring & cleanup
3 years ago
Luis Díaz Más 76f01fd4d3 Clean more header inclusions 3 years ago
Luis Díaz Más ea201ce613 Remove dead code 3 years ago
Kevin Backhouse 256365830a
Replace Metadatum::toLong() with Metadatum::toInt64(). 3 years ago
Luis Díaz Más db4b63937e Add some TODO comments 3 years ago
Kevin Backhouse bb9ff53ebe
Throw an exception on integer overflow. 4 years ago
Kevin Backhouse 9ff72e5ca5
Make offset=0 the default parameter. 4 years ago