Commit Graph

412 Commits

Author SHA1 Message Date
Luis Díaz Más
c5a9dfd9af
Merge pull request #2109 from Exiv2/main_StringView
Refactoring & cleanup
2022-02-21 22:29:43 +01:00
Luis Díaz Más
8b3da36f42 Improvements from code review 2022-02-19 17:27:29 +01:00
Kevin Backhouse
a7ce4ee846
Move Metadatum::toUint32() implementation out of header file. 2022-02-19 13:38:46 +00:00
Kevin Backhouse
90aa007188
Convert type of pixelHeight/pixelWidth to platform-independent uint32_t. 2022-02-18 22:17:32 +00:00
Luis Díaz Más
f774a3b25e Fix build on linux 2022-02-18 22:48:01 +01:00
Luis Díaz Más
9fb43f28e0 Use standard [[maybe_unused]] 2022-02-18 22:48:01 +01:00
Luis Díaz Más
76f01fd4d3 Clean more header inclusions 2022-02-18 22:48:01 +01:00
Luis Díaz Más
f060b58fd4 Clean config.h from old stuff 2022-02-18 22:48:01 +01:00
Luis Díaz Más
7e5ba7cb23 Remove many redundant or not needed header inclusions 2022-02-18 19:01:24 +01:00
Luis Díaz Más
a6185d29c6 Image::setComment now takes string_view 2022-02-18 18:01:02 +01:00
Luis Díaz Más
8b2d17312e ReplaceStringInPlace does it in-place now 2022-02-18 17:54:04 +01:00
Luis Díaz Más
45300ad667 BasicIo::path() returns const ref 2022-02-18 17:54:04 +01:00
Luis Díaz Más
0726104b1a Hide pathOfFileUrl in the only place where it is used 2022-02-18 17:54:04 +01:00
Luis Díaz Más
6f762b4e66 Use std::filesystem for fileExist 2022-02-18 17:54:04 +01:00
Luis Díaz Más
f1ff3aaa4c Make urldecode in-place 2022-02-18 17:54:04 +01:00
Luis Díaz Más
3d370cc2ae Improvements in urlencode 2022-02-18 17:54:04 +01:00
Kevin Backhouse
256365830a
Replace Metadatum::toLong() with Metadatum::toInt64(). 2022-02-18 12:30:33 +00:00
Luis Díaz Más
408d80bce8 Change order of ImageType values 2022-02-14 17:08:50 +01:00
Luis Díaz Más
690dde3440 Add tests for ImageFactory::checkMode (for all the supported image types) 2022-02-14 17:08:50 +01:00
Luis Díaz Más
f10283f118 bug: Fix crash when calling ImageFactory::create(none) 2022-02-14 17:08:50 +01:00
Luis Díaz Más
5a9799ffb2 Replace ImageType namespace by a enum class 2022-02-14 17:08:50 +01:00
Luis Díaz Más
7933ff401d Remove dead code around EXV_UNICODE_PATH 2022-02-13 22:49:32 +01:00
Kevin Backhouse
2a3dd2def9
Replace Value::toLong with Value::toInt64. (#2062)
* Replace Value::toLong with Value::toInt64.

* Fix compiler warning.

* Fix compile error.

* Fix declaration of canonEv

* Fix compiler warning.

* Fix compiler warning.

* Use int64_t for offsets in tiffcomposite_int.cpp

* Fix compiler warning.

* Fix compiler warnings.

* Fix compiler warning.

* Fix compiler warning.

* Fix compiler warning.

* Fix compiler warning.

* Remove static_cast<long int> in TagDetails initializer.
2022-02-12 21:16:18 +00:00
Luis Díaz Más
1f07715141 Revert "Delete dead code"
This reverts commit 1d6bac61f2.
2022-02-08 07:57:22 +01:00
Luis Díaz Más
d8732a716e Remove dead code 2022-02-05 11:02:04 +01:00
Luis Díaz Más
9d8dd86945 Use auto to reduce verbosity around code dealing with iterators 2022-02-05 11:02:03 +01:00
Luis Díaz Más
a42501864a Recover some documentation strings 2022-02-04 17:35:44 +01:00
Luis Díaz Más
c531c4abf5 More tests for IptcDataSets 2022-02-04 17:21:10 +01:00
Luis Díaz Más
476a254dfc Remove dead code
No way to obtain nullptr DataSet* when we are checking already the 2
only existing DataSets above.
2022-02-04 17:21:10 +01:00
Luis Díaz Más
15e8c75a38 Delete unused IptcKey copy operator 2022-02-04 17:21:10 +01:00
Luis Díaz Más
df0b7c450d Hide public details 2022-02-04 17:21:10 +01:00
Luis Díaz Más
1d6bac61f2 Delete dead code 2022-02-04 17:21:10 +01:00
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