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
Rosen Penev
725875497b
SonarLint cleanups
2 years ago