9211 Commits (f9845b35e76f5f7aa2ec22c0c76f56d1f98c1adb)
 

Author SHA1 Message Date
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
Kevin Backhouse e0ac920c87
Suggestion from @neheb 2 years ago
Kevin Backhouse 244799f480 Convert tail-recursion to loop to avoid stack exhaustion. 2 years ago
Kevin Backhouse a783320520 Use enforce, not assert, to avoid crash. 2 years ago
Kevin Backhouse 65259d8936
Check that the pointer isn't NULL. 2 years ago
Rosen Penev 1697417c27
Merge pull request #2540 from neheb/r
github CI: update conan
2 years ago
Rosen Penev 3d2bcf19dc
Merge pull request #2536 from neheb/s
meson updates
2 years ago
Rosen Penev 7bb890f394
github CI: update conan
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 20b160d936
meson: update wraps
Fix dllexport/import mismatch. Fixes MSVC/MinGW warnings.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev ff7bfb3798
Merge pull request #2422 from norbertwg/interpretation-for-Exif.Photo.LensSpecification
Interpretation for Exif.Photo.LensSpecification
2 years ago
norbertwg 10bbe3f4ae to avoid compiler warnings: 0.0 changed to 0.0f 2 years ago
norbertwg 979ce8ab2a Merge branch 'interpretation-for-Exif.Photo.LensSpecification' of https://github.com/norbertwg/exiv2 into interpretation-for-Exif.Photo.LensSpecification 2 years ago
Rosen Penev 605304680e github CI: remove NoConan
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 48ea6ebecc github CI: update conan
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
norbertwg db2f4ee377 interpretation for ExifPhoto.LensSpecification
printLensSpecification is copied from old Nikon3MakerNote::print0x0084
call of Nikon3MakerNote::print0x0084 replaced by printLensSpecification

add two lens tags to EasyAccess API
Exif.Photo.LensSpecification and Exif.Nikon3.Lens

handling of zero; more precision for focal length

silence compiler warnings
2 years ago
Kevin Backhouse 93f5acbbff Enable video support by default 2 years ago
Kevin Backhouse 3b0398ab20
Merge pull request #2534 from kevinbackhouse/asfvideo-fix-int-overflow
Fix integer overflow which enables enforce to be bypassed
2 years ago
Kevin Backhouse 14e26b5abd
Fix integer overflow which enables enforce to be bypassed. 2 years ago
Kevin Backhouse 2a03d8b630
Merge pull request #2533 from kevinbackhouse/asfvideo-remaining-size
Fix long-running loop
2 years ago
Kevin Backhouse b5bf079444
Fix long-running loop 2 years ago