Luis Díaz Más
071e73fa4d
Add many tests for datasets
2022-02-04 17:21:10 +01:00
Luis Díaz Más
a94d648d05
Rest of tests to have 100% coverage in BMP class
2022-02-04 17:21:10 +01:00
Luis Diaz
edf39e00dd
Add new BMP tests
2022-02-04 17:21:10 +01:00
Josh Soref
e56abfa10a
Spelling ( #2067 )
...
* spelling: accelerometer
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: address
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: anonymous
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: available
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: baby
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: buffer
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: build
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: builds
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: by inclusion
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: byte order
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: camera
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: command
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: consistency
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: constructor
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: continuous
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: continuously
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: correspond
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: decompression
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: dedicated
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: denominator
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: dependencies
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: detector
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: dlighting
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: dragging
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: duplicate
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: dynamic
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: empty
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: enable
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: endianness
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: examining
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: exceed
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: extension
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: fact
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: fails
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: fixed
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: fluorescent
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: focuspoint
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: focuspoints
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: from
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: happened
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: hierarchy
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: initiate
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: interesting
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: internal
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: javascript
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: language
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: libiconv
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: libraries
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: library
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: localization
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: macros
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: member
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: members
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: metadata
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: miscellaneous
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: mnemonic
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: modified
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: multiple
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: multithreaded
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: mysterious
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: photoshop
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: platforms
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: preliminary
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: priority
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: properties
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: qualifier
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: recognition
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: recognized
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: reentrancy
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: remaining
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: remotetest
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: requested
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: sensitivity
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: standardize
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: successful
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: such
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: tags
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: temperature
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: test
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: the
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: these
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: third
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: this
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: transparent
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: unable
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: underwater
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: uninterpreted
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: using
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: utc - coordinated universal time
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: which
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: with
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
2022-02-04 08:53:04 +01:00
Luis Díaz Más
b0318c36be
Upgrade C++ standard to c++17 ( #2052 )
...
* Enable C++17 and use new inline specifier for const variable members
* Silence deprecation warning on MSVC
* Disable samples by default
* improvements after review
2022-01-09 20:09:34 +01:00
Luis Díaz Más
813566526c
Revisiting cmake code for generating coverage reports ( #2047 )
...
* cmake: better usage of gcovr for coverage reports
* Add test for FileIo::setPath
* Remove useless seek() overload
* Add missing override specifiers
* ignore .vs folder
* Small refactors in BasicIo implementations
* Remove duplicated doxygen doc
* Refactor & add tests for MemIO
* Fix compilation warnings on windows
2022-01-06 12:52:01 +01:00
Kevin Backhouse
29f7d0ccf0
Remove DataBuf::release() which is no longer used.
2021-12-24 12:35:46 +00:00
Robin Mills
13a2cf336d
fix_1416_iptc_DateCreated ( #1547 )
...
* fix_1416_iptc_DateCreated
* Fix unit tests
* DateValue:read 2nd iteration on pre-condition
* test with ISO_8601 date format
* Use std::regex for ISO 8601 basic & extended date formats
* Use std::regex for ISO 8601 basic & extended time formats
* Add more tests & notes for DateValue & TimeValue
* Comment tests using local calendar times
* DateValue::write also adds padding to year field
Co-authored-by: Luis Díaz Más <piponazo@gmail.com>
2021-12-14 11:20:02 +01:00
Kevin Backhouse
44542a9f94
Add readOrThrow and seekOrThrow to BasicIo.
2021-10-21 10:18:21 +01:00
Miloš Komarčević
8b7d8729b7
Expose unsupported CR3 previews as binary
2021-10-20 22:15:44 +02:00
Miloš Komarčević
40e5021577
Limit CR3 previews to JPEG only
2021-10-20 16:17:24 +02:00
David Houlder
b385f2db1c
Canon cr3 previews ( #1958 )
...
* Extract THMB and PRVW images from Canon CR3 file
* Added test for Canon CR3 preview extraction.
Added test data Canon-R6-pruned.CR3 (first 492016 bytes of https://raw.pixls.us/getfile.php/4659/nice/Canon%20-%20Canon%20EOS%20R6%20-%203:2.CR3 ).
See https://github.com/Exiv2/exiv2/issues/1893
* Fixed format specifier
* Update src/bmffimage.cpp
Co-authored-by: Miloš Komarčević <4973094+kmilos@users.noreply.github.com>
* Update src/bmffimage.cpp
Co-authored-by: Miloš Komarčević <4973094+kmilos@users.noreply.github.com>
* retrigger checks
Co-authored-by: Miloš Komarčević <4973094+kmilos@users.noreply.github.com>
2021-10-17 22:28:05 +01:00
postscript-dev
c07bbfca3e
Fix doc description of Image::iccProfileDefined()
2021-10-15 21:15:11 +01:00
Kevin Backhouse
94ea0c6d90
Delete the copy assignment operator to avoid accidental copying.
2021-10-11 21:36:37 +01:00
Kevin Backhouse
81cfc162c1
Use std::move to transfer ownership of DataBufs.
2021-10-10 23:56:00 +01:00
Jim Easterbrook
a6480f972c
Hide "static constexpr auto" from SWIG
...
SWIG can't parse "static constexpr auto" at present. As there's no need
to SWIG private class members simply hiding the expression is all that's
needed.
2021-10-05 09:21:17 +01:00
Kevin Backhouse
9b79b378b1
Remove unused constructor that was causing a build failure in OSS-Fuzz.
...
Credit to OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=38491
2021-09-12 13:01:01 +01:00
Kevin Backhouse
9ff72e5ca5
Make offset=0 the default parameter.
2021-08-30 12:41:08 +01:00
Kevin Backhouse
c9d0cf3643
Make fields of DataBuf private.
2021-08-29 15:43:10 +01:00
Rosen Penev
f3fcffd6e6
remove most usages of std::make_pair
...
Better alternatives exist with C++11.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-08-17 19:11:28 -07:00
Kevin Backhouse
4674fae4ef
Safer casting from double to long.
...
(cherry picked from commit 372e28c41044a9e8b65d7d7093e028e30a7c8c8a)
2021-08-03 21:39:12 +00:00
Kevin Backhouse
2532f6db40
Add markerHasLength utility function.
2021-07-26 12:48:33 +01:00
Christoph Hasse
7251a96da6
remove exv_grep_keys_t type alias
2021-07-25 20:58:06 +02:00
Christoph Hasse
d82980b563
refactor: replace old linux regex.h with regex from STL.
2021-07-25 20:58:06 +02:00
Kevin Backhouse
02d4ef2c5e
Support for 64-bit box lengths looked broken.
2021-07-23 15:06:57 +01:00
Kevin Backhouse
8c64e9abba
Add pbox_end param to BmffImage::boxHandler to enforce box nesting.
2021-07-23 13:23:56 +01:00
Kevin Backhouse
5ab3f2b0c5
Defensive coding to avoid 0x80000000/0xFFFFFFFF FPE.
2021-07-01 19:20:46 +02:00
Rosen Penev
3b2a1b9d84
clang-tidy: use braced init list
...
Found with modernize-return-braced-init-list
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-06-28 08:29:02 +02:00
Rosen Penev
52a9ed30cf
clang-tidy: use nullptr
...
Found with modernize-use-nullptr
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-06-28 08:27:55 +02:00
Rosen Penev
7732b9308e
clang-tidy: add explicit
...
Found with hicpp-explicit-conversions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-06-27 10:30:42 +02:00
Rosen Penev
97cf02bf12
clang-tidy: remove redundant specifiers
...
Found with readability-redundant-access-specifiers
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-06-27 10:26:23 +02:00
Rosen Penev
430ff1c9b8
clang-tidy: replace throw with noexcept
...
Found with modernize-use-noexcept
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-06-27 10:25:52 +02:00
mergify[bot]
1d64f482ff
fix: use vector::at() rather than operator[] (backport #1735 ) ( #1741 )
...
* fix: use vector::at() rather than operator[] (#1735 )
* Regression test for https://github.com/Exiv2/exiv2/issues/1706
* Use vector::at() rather than operator[].
* Print to stderr when exception is caught and EXIV2_DEBUG_MESSAGES is enabled.
* Check that it prints "Bad value" for the date.
(cherry picked from commit f4d3adbf91e6dc4e34aee5bac7b7fd9e127a5c00)
# Conflicts:
# src/value.cpp
* fix merge conflicts from mergify backport
Co-authored-by: Kevin Backhouse <kevinbackhouse@github.com>
Co-authored-by: Christoph Hasse <hassec@users.noreply.github.com>
2021-06-27 09:33:56 +02:00
Kevin Backhouse
2b84f4bd64
fix: zero initialize local variables. ( #1743 )
...
* Zero initialize local variables.
* Initialize xmpID_
2021-06-27 08:56:31 +02:00
Rosen Penev
4a654e4266
clang-tidy: do not use 0 for bool
...
Found with modernize-use-bool-literals
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-06-21 21:00:05 +02:00
Rosen Penev
99823a526c
clang-tidy: replace virtual with override
...
Found with modernize-use-override
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-06-21 20:59:48 +02:00
Rosen Penev
19000cd53c
con/destructor fixes
...
Added = delete to make it explicit. Also made them public.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-06-10 18:08:11 +02:00
Rosen Penev
7a2b05e813
clang-tidy: use = default
...
Found with modernize-use-equals-default
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-06-10 18:01:48 +02:00
Rosen Penev
e53548a95a
clang-tidy: use default member init
...
Found with modernize-use-default-member-init
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-06-10 18:00:23 +02:00
Rosen Penev
17a8d743a5
clang-tidy: do not use else after return
...
Found with llvm-else-after-return
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-06-10 17:45:29 +02:00
Rosen Penev
e9309f25ab
clang-tidy: simplify bools
...
Found with readability-simplify-boolean-expr
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-06-10 17:45:02 +02:00
Rosen Penev
c20394b3fa
remove old MSVC hacks
...
This is C++11 now.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-06-10 17:35:17 +02:00
Luis Díaz Más
f30022d73d
Fix issues detected with PVS-Studio + other little improvements ( #1689 )
...
* avoid re-declaration of constant variables
* Replace pthreads critical section with std::mutex
* ci - better naming
* cmake - increase minimum version to 3.11. Use project DESCRIPTION
* fix - do not treat string::find() return type as bool
* remove conditions that were always true
* remove condition that were always false
* Remove EXV_HAVE_GMTIME_R which is not used anymore
* pixelWidth_ was inherited from Exiv2::Image
The width & height variables in the TiffImage class need to be mutable
to be able to change their values on the getters pixelHeight() and
pixelWidth() ... Do not ask me why ...
* Remove superfluous if
* pvs:V766 item with identical key added already
* pvs:V730 not all members were initialized (time)
* pvs:V730 not all members are initialized
* pvs:v668 no point in testing pointer against null after new
* pvs:V1048 variable assigned the same value
* replace c-style dynamic vector with std one
* pvs:547 fakeData is always true
* Remove useless constructor in derived class
* pvs:V690 modern way to disable copy-ctor
* Replace malloc/free with new/delete. No need to check for null
* pvs:V1028 cast operands and not result
* Remove custom MIN/MAX functions
* pvs:V595 pointer used before verified against null
* pvs: index used before being checked
* pvs:V1028 possible overflow. Cast operands
* pvs:v575 potential null pointer passed to other functions
* pvs:V547 deal with always true/false expressions
* pvs:V560 part of conditional expressions always false or true
* pvs:V701 possible break in realloc -> move to std::vector
* Make some classes 'final'
* Replace sprintf with std::to_string()
* fix compilation on windows
2021-06-01 12:39:10 +02:00
Christoph Hasse
758dd6bbc6
refactor!: remove free() function from DataBuf to avoid potential problems, see #1542
2021-05-27 08:26:00 +02:00
Rosen Penev
86c71ae6c3
clang-tidy: avoid global non const variables
...
Found with cppcoreguidelines-avoid-non-const-global-variables
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-25 08:43:27 +02:00
Rosen Penev
e5894d71e1
default con/destructors in headers
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-19 23:31:50 -07:00
Rosen Penev
ff39473c18
clang-tidy: convert to static
...
Found with readability-convert-member-functions-to-static
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-19 14:45:20 +02:00
Rosen Penev
6da49fd29b
more constexpr
...
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-19 14:11:42 +02:00
Rosen Penev
036af68a71
remove pointless constructors
...
Replaced with Uniform initialization. Allows constexpr usage.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-19 14:11:42 +02:00
Rosen Penev
8564d0b394
clang-tidy: pass by value
...
Found with modernize-pass-by-value
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-18 14:30:08 +02:00