Commit Graph

177 Commits

Author SHA1 Message Date
Rosen Penev
4c66b4440a pair noexcept with move operations
Typically done with noexcept.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-05-10 12:56:39 +03:00
Rosen Penev
cfc0ef0b65 meson: fix tests when zlib is disabled
This sometimes shows up in CI if zlib is not found.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-04-04 06:53:11 -07:00
Rosen Penev
22b12012a6 more SonarLint cleanups
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-03-20 08:01:22 -07:00
Rosen Penev
ca95edc6bd random fixes
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-03-20 08:01:22 -07:00
Rosen Penev
1f21164085 gcc: remove redundant struct
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-03-20 08:01:22 -07:00
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>
2023-03-20 08:01:22 -07:00
Rosen Penev
2205a14a06 clang-tidy: default init various members
Found with cppcoreguidelines-pro-type-member-init

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-02-25 15:46:42 -08:00
Rosen Penev
95be516483 avoid shadowing warning
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-02-14 02:19:20 -08:00
Rosen Penev
9f21b78311 add contains function
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-02-14 00:48:41 -08:00
Rosen Penev
52ab999151 meson: add unit tests
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-02-13 09:37:30 -08:00
Rosen Penev
785a9ed084 unitTests: fix old API usage
Found with google-upgrade-googletest-case

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-02-13 09:30:39 -08:00
Rosen Penev
e1ac00a71f link against gtest-main
Don't bother with custom main function. No benefit.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-02-13 09:29:47 -08:00
Rosen Penev
376638259d namespace enforce.hpp functions to Internal
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-01-29 11:14:59 -08:00
Rosen Penev
77834807c2 add support for gcc and clang 7
Uses std::experimental::filesystem

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-01-29 09:29:46 -08:00
Kevin Backhouse
43c9ec0f50
Add EXIV2_ENABLE_INIH flag to enable building without libinih. 2023-01-16 10:33:25 +00:00
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
2023-01-04 13:01:34 +01:00
Kevin Backhouse
346e11493f
Merge pull request #2443 from kevinbackhouse/inih-from-library3
Remove libinih from codebase and add it as a dependency instead
2023-01-04 10:44:47 +00:00
Rosen Penev
d458bf2540 clang-tidy: apply to newly merged stuff
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-01-03 01:24:04 -08:00
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
2022-12-31 18:20:31 +01:00
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>
2022-12-31 10:45:45 +01:00
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
2022-12-30 15:58:07 +01:00
Kevin Backhouse
a4164ce866
Remove libinih from codebase and add it as a dependency instead. 2022-12-28 09:33:08 -06:00
Kevin Backhouse
dc5dc0d2e3 clang-format 2022-10-31 17:17:37 -07:00
Rosen Penev
436cdf0a7e Use std::enable_if_t and std::is_signed_v. 2022-10-31 17:17:37 -07:00
Kevin Backhouse
ddd7ccf722 Use std::is_signed and std::enable_if. 2022-10-31 17:17:37 -07:00
Kevin Backhouse
b9b2d7741b
Fix some "unsafe vector access" warnings. 2022-07-08 12:48:42 +01:00
Luis Díaz Más
c9bdd6ed94
Merge pull request #2209 from Exiv2/mainTODOs
Improvements around TODO comments
2022-04-29 09:04:46 +02:00
Rosen Penev
a86bc386da reference conversions
There's no nullptr here.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-18 13:53:14 -07:00
Luis Díaz Más
d4ffcb9497 utils are in Internal namespace 2022-04-14 10:41:07 +02:00
Luis Díaz Más
74da8a394f Remove deprecated todo 2022-04-14 10:41:06 +02:00
Luis Díaz Más
d5742f449b Move string helpers to utils 2022-04-14 10:41:01 +02:00
Luis Díaz Más
1a3e93856b More tests for rational convertions 2022-04-14 10:41:00 +02:00
Luis Díaz Más
8da71e7133 Test parseUint32 and fix it when number is out of limits 2022-04-14 10:41:00 +02:00
Luis Díaz Más
331924612e Remove duplication by using templates 2022-04-14 10:40:59 +02:00
Luis Díaz Más
2b91b5daf9 More tests for DataBuf read/write functions 2022-04-14 10:40:59 +02:00
Luis Díaz Más
6964f5f9f2 DataBuf::c_data() returns nullptr when empty + avoid duplication
After the previous commit, I realized that std::vector::data() also
returns nullptr when the vector is empty. So I decided to emulate this
behavior in DataBuf::c_data().

Anyways, the changes done in the previous commit are valid and allow us
to avoid some processing when the DataBuf is empty.
2022-04-14 10:40:58 +02:00
Luis Díaz Más
4a4a8c544c Throwing when trying to access TooFar elements in DataBuf 2022-04-14 10:40:57 +02:00
Luis Díaz Más
f942ba89bd Move Photoshopb class to internal namespace 2022-04-10 10:55:10 +02:00
Luis Diaz
a505d6f06c More unit tests for Photoshop methods 2022-04-06 15:55:31 +02:00
Luis Diaz
8ab7800477 Remove 2nd param from Photoshop::isIrb() since it is always hardcoded 2022-04-06 15:55:29 +02:00
Luis Diaz
7366a64d44 Add unit tests for Photoshop::isIrb().
It has been detected that we need to always pass the size==4 in the call
to isIrb. Probably it is better to remove that parameter and document
that it is assumed for the buffer to have a length of 4 bytes.
2022-04-06 15:18:43 +02:00
Rosen Penev
dfb93dd8cd clang-tidy: use C++ headers
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-01 16:38:04 -07:00
Luis Díaz Más
d16ca65b01 Fix out of bounds read in isValidBoxFileType() 2022-04-01 08:05:00 +02:00
Luis Díaz Más
3b9fcb4b3d Update .clang-format to align pointers to the types 2022-04-01 07:55:07 +02:00
Luis Díaz Más
d7f35e33f0 Remove useless static_casts 2022-03-25 08:43:37 +01:00
Luis Díaz Más
1545a1bc4a JP2 - stronger checks on Signatuer and FileType boxes 2022-03-18 14:55:16 +01:00
Luis Diaz
b48e8e9379 Add unit tests for Jp2Image revealing bugs (see #2147) 2022-03-18 14:36:35 +01:00
Luis Díaz Más
30bf563f4d Update .clang-format file & apply clang-format to whole project 2022-03-16 22:30:53 +01:00
Luis Diaz
65568b056e Add unit tests for Error class 2022-03-12 16:58:41 +01:00
Luis Díaz Más
7119b7676f remove templating & simplify error message
+ clang-format in Error files
+ Remove AnyError
2022-03-12 16:58:41 +01:00