8980 Commits (3fd513fb15412ddcc21d6f9b50e1c0f61f13d9cc)
 

Author SHA1 Message Date
Rosen Penev 3fd513fb15 use using in slice
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 971bbfac9b meson CI: add MSYS2
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 498d01c44d meson CI: remove static build
There's no need for it anymore. All static bugs (mostly on Windows)
were fixed.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 5d11711db8 meson CI: add FreeBSD
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev c42c7fa9ac meson: build iconv with FreeBSD
Bug was fixed.

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 b10f2d3e95 geotag: fix compilation with MSYS
using namespace std interferes with windows.h

stat defines interfere with internal headers.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev cfc0ef0b65 meson: fix tests when zlib is disabled
This sometimes shows up in CI if zlib is not found.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 3633f8d2c2 clang-tidy: remove const from data members
Found with cppcoreguidelines-avoid-const-or-ref-data-members

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 233f404ac7 direct initialize some structs
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Miloš Komarčević 0dd06894b3 makernotes: workaround for Olympus header corruption 2 years ago
Miloš Komarčević 3403dabec2 Add Sony ZV-E1 ID 2 years ago
Miloš Komarčević 2f01f70eaf Add some more Nikon Z lenses 2 years ago
Rosen Penev 0fa22ed55d remove codecvt
Deprecated in C++17

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 2e33dad1d1 easyaccess const changes
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev b92b121532 meson: remove now unused checks
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 632536a55a meson: build samples
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 848da172da make runner.py executable
Otherwise meson will not find it.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 0c0dabfcc7 geotag: add GCC7 support
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
Eli Schwartz 2108ae671a meson: compile convert.cpp separately, with just iconv
Compiling this file with all dependencies as part of the main library
causes it to have the include directories of all dependencies, but iconv
is a bit of a special case: it can have a libc builtin or an external
library version. The external library might be installed to the same
directory as other dependencies, for example on FreeBSD -- but if exiv2
is not supposed to be built with GNU libiconv, then it will expect to
see the libc builtin.

The leaky include directories means that iconv.h gets pulled in from the
GNU libiconv version instead, though, which then forces -liconv to be
necessary for no reason.

There are two general solutions to ensuring that everything links
correctly:

- expect exiv2 to be built with *global* -I/usr/local/include -L/usr/local/lib
  thus forcing the use of GNU libiconv

- carefully compiling the iconv support without any other dependencies

Let's do the latter since it allows for more choice and is easier to
enforce.
2 years ago
Rosen Penev 05f2731d34 std::array removals
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 8fe2ae6030 remove constexpr
const_iterator is not constexpr. clang 15 on MSYS2 fails to compile
because of this.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 513b0e8bbd constexpr some constructors
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 0aed79ff57 remove several constructors
Just direct initialize

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 024e026bbb clang: small fixes
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
Miloš Komarčević 18e11ac1b6
Explicitly include stdint (#2558) 2 years ago
Rosen Penev 22b12012a6 more SonarLint cleanups
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev d29001f2a4 clang-tidy: don't use non const refs
Found with: google-runtime-references

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 01aab49f6f don't assign an fs::path to a string
Seems to trip up MemorySanitizer on ARM32.

Also applied various simplifications to the code using std::filesystem

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 5ccb525dd3 remove inline function
Just make it part of the template

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 763cfaf2b4 MSVC warning fixes
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 1f3d1f066f extern to static
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev ca95edc6bd random fixes
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev d6c1059485 gcc: ifdef
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 0a8fedf249 gcc: noexcept
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 1f21164085 gcc: remove redundant struct
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 9a1f37ecbe get rid of Key() move operations
Because of Impl, there's no way this can work properly.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev a3baf7d3e9 clang-tidy: no _ in tests
Found with google-readability-avoid-underscore-in-googletest-name

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev e854d93841 replace enable_if with if constexpr
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 2fd523873b remove MSVC hacks
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev dc196e729e remove old MSVC workaround
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 4a26eba0d9 fix compilation under FreeBSD
sys headers must come before libprocstat

meson is missing a libprocstat dependency. iconv is also broken with
meson and freebsd.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 6a3025dd72 meson CI: use vc++latest
Potentially more warnings

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 4831c65e39
Merge pull request #2551 from kevinbackhouse/fix-issue-2539
Minor refactorings to stop UBSAN from complaining
2 years ago
Kevin Backhouse 5d11208aa0
Minor refactorings to stop UBSAN from complaining. 2 years ago
Rosen Penev 66e904e61e
Merge pull request #2548 from neheb/fa
add various moves
2 years ago
Rosen Penev e2bf207477 add various moves
More efficient

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 518c52c2af
Merge pull request #2544 from kevinbackhouse/fix-matroska-null-pointer-deref
Check that the pointer isn't NULL
2 years ago