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
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
Kevin Backhouse
5d11208aa0
Minor refactorings to stop UBSAN from complaining.
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
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
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
14e26b5abd
Fix integer overflow which enables enforce to be bypassed.
2 years ago
Kevin Backhouse
b5bf079444
Fix long-running loop
2 years ago
Rosen Penev
725875497b
SonarLint cleanups
2 years ago
Mohamed Ali Chebbi
8b96ebc6b4
asfvideo fuzz issue : nb_headers should not exceed the max value of uint32
2 years ago
Rosen Penev
b9d94e61fe
coverity: remove dead code
...
Found with: CID 1521533
Unsigned compared against 0 (NO_EFFECT)
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
03d34bee04
get rid of convertToUint64
...
same as getULongLong
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
afbd9e7a76
coverity: add move operations
...
CID 1521171: Missing move assignment operator
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
839c03fe37
use find()
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
3fe6d78014
Remove some constructors
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
2205a14a06
clang-tidy: default init various members
...
Found with cppcoreguidelines-pro-type-member-init
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
dd25d9999b
direct init structs
...
No need to deal with individual members
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
48caa32017
close socket before return
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
393150c0cd
cast expression
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
f2c879333e
fix off by 1 error
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Kevin Backhouse
230fbaf421
Use toInt64() for hours and minutes, because they should be integer valued.
2 years ago
Kevin Backhouse
c20ee1a7f5
Use double type to improve floating point accuracy.
2 years ago
Rosen Penev
9f21b78311
add contains function
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
28358cd209
template second parameter for startsWith
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
d7bf72634e
use std::replace
...
shorter
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
0d50e444f2
use count_if
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
2d1691c1e2
replace array with vector
...
Using the constructor is one less line. Plus it seems to fix bugs in
Apple's clang.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
63b32ba3fb
fix wrong snprintf format
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
61e5aefcc4
explicit conversion
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
75dae3fb96
replace localtime with _s/_r variant
...
cppcheck warns on localtime which is not necessarily threadsafe.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
625a2b8167
fix memory leak
...
Found with cppcheck.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
968a546dcb
use upper() function
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
5eebbbcbfb
make conversions explicit
...
Found with MSVC's C4244
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
31165b6a01
remove base constructor
...
Maybe works now
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Mohamed Ali Chebbi
c555a70127
fuzz issue : add debug message for futur use
2 years ago
Mohamed Ali Chebbi
03fcc6cad2
fuzz issue : check that block is not corrupted before decoding
2 years ago
Rosen Penev
5b1bc2ef6d
clang-tidy: no else after return
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
4e3a63d9b7
replace std::pair and tuple with C structs
...
fixes internal MSVC libc++ warnings
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
36e848d4fe
clang-tidy: replace memcpy with copy_n
...
Found with bugprone-not-null-terminated-result
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
7f5430a7d4
use lower()
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
35b6780d02
clang-tidy: don't assign in if
...
Found with bugprone-assignment-in-if-condition
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
d1a2cd0b76
clang-tidy: cast initial variable
...
Fixes: bugprone-integer-division
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
e188df1e14
fix implicit conversion
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
b3ff42f2d5
use if constexpr
...
Suggested by MSVC.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
629f94eea3
unreachable code
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
d2ddf228ad
replace switch with if/return
...
Fixes warning C4702: unreachable code
No other way to make all compilers gappy.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
dde8765a49
don't assign in while
...
Fixes MSVC's warning C4706: assignment within conditional expression
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
b324f80443
use numeric limits instead of -1
...
Fixes MSVC warning.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
a10c08ba1d
swap variables
...
These are the wrong way around. MSVC warns with /W4.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Mohamed Ali Chebbi
b8b4a041a1
compilation issue on Windows
2 years ago
Mohamed Ali Chebbi
51ef600fe6
compilation issue on Mac OS 2
2 years ago
Mohamed Ali Chebbi
c7aec66195
compilation issue on Mac OS
2 years ago
Mohamed Ali Chebbi
bed8d3d93c
rework of aspectRatio calculation for all video formats and rework the decoding of asf tags
2 years ago
Rosen Penev
dee0598edf
clang-tidy fixes for recent stuff
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
f21b2a2170
std to Exiv2 find
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
b665574634
simplify loop
...
Just use upper
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
33e5ef5ffd
remove constructors
...
Just direct initialize
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Mohamed Ali Chebbi
6690e2e8f3
Merge branch 'Exiv2:main' into TestVideoData
2 years ago
Miloš Komarčević
13e6671de2
Update some Canon IDs ( #2501 )
2 years ago
Rosen Penev
be387a60c3
add missing &
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
0f30198d9b
remove mmap/munmap checks
...
Just check the header
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
2ddf00e7a2
use EXV_ICONV_CONST
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Mohamed Ali Chebbi
32576a3edf
add test/data for video support : rework readStringWcharTag method 2
2 years ago
Mohamed Ali Chebbi
579cae8e77
add test/data for video support : rework readStringWcharTag method
2 years ago
Mohamed Ali Chebbi
e388ba523f
add test/data for video support : rename Xmp.video.Duration to Xmp.video.duration
2 years ago
Mohamed Ali Chebbi
3847a09359
Merge branch 'main' into TestVideoData
2 years ago
Mohamed Ali Chebbi
f22db635b0
Merge branch 'TestVideoData' of github.com:mohamedchebbii/exiv2 into TestVideoData
2 years ago
Mohamed Ali Chebbi
db14131262
add test/data for video support : enhance Debug messages
2 years ago
Rosen Penev
e309680a86
remove deleted members from static classes
...
This is a holdover from C++98. No need anymore
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
6a34d9e57d
add missing member functions
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
ddb42eb159
remove some overriden defaulted destructors
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
d248e1a2af
more delete removals
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
e7977554e2
default initializations
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
7aaf6414f2
move initialization up
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Mohamed Ali Chebbi
2b2173aafe
Merge branch 'Exiv2:main' into TestVideoData
2 years ago
Mohamed Ali Chebbi
ada14ae292
add test/data for video support : use readStraingTag instead of read
2 years ago
Mohamed Ali Chebbi
bf6546ee82
add test/data for video support : restore Riff HeaderReader and reserve addtional byte in readStraingTag
2 years ago
Mohamed Ali Chebbi
acd71894b2
add test/data for video support : delete unused parameter from readList method
2 years ago
Mohamed Ali Chebbi
0f715288e7
add test/data for video support : delete riff HeaderReader
2 years ago
Mohamed Ali Chebbi
19f8b437c3
add test/data for video support : add enforce exceptions
2 years ago
Mohamed Ali Chebbi
340b46623d
add test/data for video support : Fix codeQL warnings
2 years ago
Rosen Penev
0d353ac5f3
work around windows.h min/max macros
...
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
Mohamed Ali Chebbi
d288617759
add test/data for video support : Fix test issue
2 years ago
Mohamed Ali Chebbi
7ea32025d6
add test/data for video support : Format issue
2 years ago
Mohamed Ali Chebbi
f9b94d3172
add test/data for video support : windows compilation issue
2 years ago
Mohamed Ali Chebbi
f5e731cd38
add test/data for video support : fix ci issue
2 years ago
Mohamed Ali Chebbi
d2fa07d559
Format issue
2 years ago
Mohamed Ali Chebbi
a36e4dd1e8
Merge branch 'main' into TestVideoData
2 years ago
Mohamed Ali Chebbi
cb7a48f84a
Rework Asf and Riff formats ; add test/data for video support
2 years ago
Rosen Penev
d874fc4dd8
use __has_include
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
376638259d
namespace enforce.hpp functions to Internal
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
77834807c2
add support for gcc and clang 7
...
Uses std::experimental::filesystem
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
e19ec79f98
safe_op: C++17 improvements
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
54dd2b54a5
clang-tidy: add const to parameter
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
2a690a135b
use gnu_printf
...
Fixes warning under MinGW:
warning: unknown conversion type character 'z' in format [-Wformat=]
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
a7a9835431
more std::find to Exiv2::find
...
The latter is simpler.
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
Miloš Komarčević
0075ff631c
Merge pull request #2471 from Exiv2/pc_improve
...
Improve pkg-config file generation
2 years ago
Rosen Penev
34318260ea
fix C++20 deprecation warning
...
Capturing this with = is deprecated.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Miloš Komarčević
15f0119707
Switch to CMake provided FindIconv
2 years ago
Miloš Komarčević
63f9926378
Add static linkages to pkg-config file
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
dd445e6c8d
use find instead of count
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
0169739a4e
add missing const
...
Found with cppcheck
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
aefd901bef
fix copy constructors
...
clang-tidy couldn't transform these because of missing members
Found with cppcheck.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Mohamed Ali Chebbi
bbb3f5afa8
add test/data for video support : gix issue in riff video and reference data test
2 years ago
Mohamed Ali Chebbi
82ea6bef52
add test/data for video support : make asfvideo more readable and fix some issues
2 years ago
Mohamed Ali Chebbi
5deee73141
Merge branch 'Exiv2:main' into TestVideoData
2 years ago
Kevin Backhouse
b55a0a564a
Silence unused parameter warning when EXV_ENABLE_INIH is undefined.
2 years ago
Kevin Backhouse
43c9ec0f50
Add EXIV2_ENABLE_INIH flag to enable building without libinih.
2 years ago
Mohamed Ali Chebbi
1bd52de0a9
add test/data for video support : delete filename (unuseful)
2 years ago
Rosen Penev
842ef05ee6
return nullptr instead of reset
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
ce8691bba3
remove double libintl check
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
d6e1b90a23
avoid reassignment
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
dd3b3d4ff4
add const
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev
3e97850e97
manual default member init
...
clang-tidy suggests this but fails to apply it.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Mohamed Ali Chebbi
1c764358bb
Encapsulate video support with compilation variable EXV_ENABLE_VIDEO ( #2448 )
...
* Encapsulate video support with compilation variable EXV_ENABLE_VIDEO
* Encapsulate video support with compilation variable EXV_ENABLE_VIDEO: add variable to unit test files
* Encapsulate video support with compilation variable EXV_ENABLE_VIDEO: encapsulate in makefile
* Encapsulate video support with compilation variable EXV_ENABLE_VIDEO: fix PR windows matrix
* Encapsulate video support with compilation variable EXV_ENABLE_VIDEO: activate only for concerned CI tests
* Encapsulate video support with compilation variable EXV_ENABLE_VIDEO: desable for linux release
* Encapsulate video support with compilation variable EXV_ENABLE_VIDEO: add to Fuzz PR
3 years ago
Kevin Backhouse
346e11493f
Merge pull request #2443 from kevinbackhouse/inih-from-library3
...
Remove libinih from codebase and add it as a dependency instead
3 years ago
Rosen Penev
bb311ba728
clang-tidy on Windows
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev
f981c51eea
get rid of -fanalyzer memory leaks
...
Don't use make_shared inside a function. Instead, change constructor to
value to have std::move.
Also move shared_ptrs everywhere. It's fairly expensive to copy.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev
d458bf2540
clang-tidy: apply to newly merged stuff
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Mohamed Ali Chebbi
7fac35e19a
1748 Video Support in V1.0: part 3/3 : support Asfvideo ( #2416 )
...
* 1748 Video Support in V1.0: part 3/3 : support AsfVideo
* 1748 Video Support in V1.0: part 3/3 : support AsfVideo : fix Mac Os error compile
* 1748 Video Support in V1.0: part 3/3 : support AsfVideo : delete unuseful warnings
* code review and clean up some code
3 years ago
Rosen Penev
f145fae33b
replace any_of with find
...
Removes need for lambda.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev
304b13c271
use find instead of std::find_if
...
There's already an operator==
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev
ff0491a102
clang-tidy: use make_unique
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev
ce8920a0ea
clang-tidy: various fixes
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Mohamed Ali Chebbi
d755fc18b5
1748 Video Support in V1.0: part 2/3 : support Riffvideo ( #2415 )
...
* 1748 Video Support in V1.0: part 2/3 : support RiffVideo
* limit the buffer_size
* Update exiv2.md
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
* Code Review and cleanUp code
* Update riffvideo.hpp
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
3 years ago
Mohamed Ali Chebbi
1280f3b849
1748 Video Support in V1.0: part 1/3 : support MatroskaViedo ( #2413 )
...
* 1748 Video Support in V1.0: part 1/3 : support MatroskaViedo
* Simplify the code of matroskavideo
* protect conevrtuint64 method from overflow
* use size_t instead of uint64_t
3 years ago
norbertwg
9ca161d1e5
Rename resp. remove duplicate exif keys ( #2434 )
...
* rename resp. remove duplicate Exif keys
Duplicate key names with different tag are renamed
Following most of the existing entries, the key with higher tag number
is renamed to ...2.
Exceptions: Canon.CustomFunctions,Olympus.ImageHeight,Olympus.ImageWidth
In the available images samples only the key with higher tag number is
used, so changing the other has less impact on test data and also on
users.
Canon.WhiteBalanceTable with tag 0x00a4 was listed twice, once with
description "SharpnessTable". The entry with the deviating description
is deleted.
* clang format
* adjust test output files (after merge with Exiv2)
* add Exif.NikonLd4.FocusDistance to EasyAccess API
* clang format
3 years ago
Kevin Backhouse
ba258cb1ae
cmake fatal error if inih library is not found.
3 years ago
Kevin Backhouse
a4164ce866
Remove libinih from codebase and add it as a dependency instead.
3 years ago
norbertwg
8d8ac99be0
Lens Recognition HD PENTAX-DA* 11-18mm F2.8 ED DC AW
3 years ago
Miloš Komarčević
b52ade814b
Prefer writing PNG eXIf chunk
3 years ago
Kevin Backhouse
2739d90073
Credit to OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=52767
...
Add wrapper class to automatically call BrotliDecoderDestroyInstance() on exit.
3 years ago
Kevin Backhouse
9d044d30b1
Use Safe::add
3 years ago
Kevin Backhouse
292082df6f
Add break to loop to fix issue 2423, plus some other cleanups.
3 years ago
Rosen Penev
67df85135d
early exit
...
less indentation
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Miloš Komarčević
cf15cc52e0
Merge pull request #2417 from Exiv2/kmilos-patch-1
...
Add Canon R6m2 ID
3 years ago