Commit Graph

357 Commits

Author SHA1 Message Date
Luis Díaz Más
2834fa5f05 Use [[maybe_unused]] 2022-03-07 22:25:51 +01:00
Rosen Penev
def782fb65 replace several typedefs with using
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-03-05 17:49:22 -08:00
Rosen Penev
5833101b9b manual nullptr conversions
Mostly not caught because I'm not running clang-tidy on Windows.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-03-05 16:21:25 -08:00
Rosen Penev
77e79b32f5 manual braced init conversion
clang-tidy's not converting these for some reason.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-03-05 01:07:36 -08:00
Rosen Penev
04bacdedd6 clang-tidy: use auto
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-03-04 15:54:05 -08:00
Rosen Penev
118aa78aa0 clang-tidy: use braced init list
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-03-04 15:54:05 -08:00
Luis Díaz Más
b9f9d041ea Several transformations on DataBuf + migration to size_t
- Provide begin/end iterators to DataBuf and simplify code
- Adapt test output after last changes
- Replacing long by size_t in value.hpp
- Use size_t in some Photoshop functions
- Remove some static_casts
2022-02-27 09:41:47 +01:00
Luis Díaz Más
615ccff5ab Fix another case revealed by tests 2022-02-27 09:36:46 +01:00
Luis Díaz Más
2505e52345 Avoid naked new operator in sample apps 2022-02-27 09:36:46 +01:00
Luis Díaz Más
b626f241c1
Merge pull request #2111 from kevinbackhouse/FixIssue2050
Catch std::exception in iptcprint
2022-02-25 08:58:51 +01:00
Kevin Backhouse
5d86044c71
Merge pull request #2107 from kevinbackhouse/MetadataToLong
Replace Metadatum::toLong() with Metadatum::toInt64().
2022-02-19 20:24:26 +00:00
Kevin Backhouse
571c84fe57
Catch std::exception in iptcprint. 2022-02-19 13:57:03 +00:00
Luis Díaz Más
405f4b5f1b Remove Util::dirname and finally the util files 2022-02-18 13:51:38 +01:00
Luis Díaz Más
a8bb38ab6f Move exiv2 app into its own folder 2022-02-18 13:51:37 +01:00
Kevin Backhouse
256365830a
Replace Metadatum::toLong() with Metadatum::toInt64(). 2022-02-18 12:30:33 +00:00
Luis Diaz
b7d5c7e22a Link against stdc++fs on Linux when it is needed 2022-02-16 14:39:10 +01:00
Robin Mills
287744fa12
Merge pull request #2087 from Exiv2/update_canon_tags_2
Update canon tags 2
2022-02-15 22:41:37 -08:00
Alex Esseling
b589ced049 update to tags 2022-02-14 16:29:43 +01:00
Luis Díaz Más
432555eae8 Replace platform specific code with std::filesystem 2022-02-13 22:49:32 +01:00
Luis Díaz Más
fdfb295cc4 windows: Trick to get UTF-8 encoded argv in main entry point
- Adapt exifprint to the new wmain strategy
- Delete have_unicode_path
- wmain does not work with MSYS & MinGW
- cmake: entry point via cmake instead of pragma
- cmake: better doc for MSVC flags
- Fix entry point in sample apps
- Adapt CMake code to work with MSVC & MinGW
2022-02-13 22:49:32 +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
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
Kevin Backhouse
891f58aa85
Fix bug in loop. It wasn't iterating over the elements of dateStrings as intended. 2021-12-21 14:22:39 +00: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
e7eddfc2f5 use more emplace_back
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-08-17 19:19:56 -07: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
Robin Mills
c82c4d0420
fix_1516_include_path 2021-08-07 13:54:44 +01:00
Christoph Hasse
7251a96da6 remove exv_grep_keys_t type alias 2021-07-25 20:58:06 +02:00
Kevin Backhouse
dc2c77ce81
Safer std::vector indexing. 2021-07-18 14:40:45 +01:00
Kevin Backhouse
b13585a697
Fix code scanning alert: "Multiplication result converted to larger type".
9284b58bfc/samples/Jzon.cpp (L61-L61)
2021-07-13 10:11:20 +01:00
Kevin Backhouse
b16cd52b88 Replace sprintf with snprintf. 2021-06-27 10:27:54 +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
Robin Mills
6452a9ce36 Fixing typos. 2021-06-24 17:49:47 +01:00
Robin Mills
739673335c Forgive "SHORT or LONG" tags. Add test code. 2021-06-24 09:49:22 +01:00
Robin Mills
fd2ab89de5 exifprint_lint 2021-06-23 14:24:46 +01: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
Rosen Penev
2c57f214c5 clang-tidy: use nullptr
Found with modernize-use-nullptr

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-26 08:31:45 +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
c7a41230f0 clang-tidy: remove pointless member init
Found with readability-redundant-member-init

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-19 23:32:29 -07:00
Rosen Penev
7179300b7f clang-tidy: use dynamic cast
Found with cppcoreguidelines-pro-type-static-cast-downcast

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-19 23:31:22 -07:00
Rosen Penev
8d501fcf24 clang-tidy: no else after return
Found with readability-else-after-return

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-19 23:09:46 -07:00
Rosen Penev
ceed79c95e Jzon: algorithm conversions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-20 07:37:00 +02:00
Rosen Penev
4d2bc3c752 some range loop conversions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-20 07:37:00 +02:00
Rosen Penev
743da1a564 clang-tidy: use C++ casting
Found with google-readability-casting

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-20 07:29:02 +02:00
Rosen Penev
8dbc699858 clang-tidy: add missing explicit
Found with google-explicit-constructor

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-19 16:48:44 +02: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