163 Commits (aefd901befd375da7fdedfe031e818fcbc63dd67)

Author SHA1 Message Date
Kevin Backhouse 43c9ec0f50
Add EXIV2_ENABLE_INIH flag to enable building without libinih. 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
2 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
2 years ago
Rosen Penev d458bf2540 clang-tidy: apply to newly merged stuff
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 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
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
Kevin Backhouse a4164ce866
Remove libinih from codebase and add it as a dependency instead. 3 years ago
Kevin Backhouse dc5dc0d2e3 clang-format 3 years ago
Rosen Penev 436cdf0a7e Use std::enable_if_t and std::is_signed_v. 3 years ago
Kevin Backhouse ddd7ccf722 Use std::is_signed and std::enable_if. 3 years ago
Kevin Backhouse b9b2d7741b
Fix some "unsafe vector access" warnings. 3 years ago
Luis Díaz Más c9bdd6ed94
Merge pull request #2209 from Exiv2/mainTODOs
Improvements around TODO comments
3 years ago
Rosen Penev a86bc386da reference conversions
There's no nullptr here.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Luis Díaz Más d4ffcb9497 utils are in Internal namespace 3 years ago
Luis Díaz Más 74da8a394f Remove deprecated todo 3 years ago
Luis Díaz Más d5742f449b Move string helpers to utils 3 years ago
Luis Díaz Más 1a3e93856b More tests for rational convertions 3 years ago
Luis Díaz Más 8da71e7133 Test parseUint32 and fix it when number is out of limits 3 years ago
Luis Díaz Más 331924612e Remove duplication by using templates 3 years ago
Luis Díaz Más 2b91b5daf9 More tests for DataBuf read/write functions 3 years ago
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.
3 years ago
Luis Díaz Más 4a4a8c544c Throwing when trying to access TooFar elements in DataBuf 3 years ago
Luis Díaz Más f942ba89bd Move Photoshopb class to internal namespace 3 years ago
Luis Diaz a505d6f06c More unit tests for Photoshop methods 3 years ago
Luis Diaz 8ab7800477 Remove 2nd param from Photoshop::isIrb() since it is always hardcoded 3 years ago
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.
3 years ago
Rosen Penev dfb93dd8cd clang-tidy: use C++ headers
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Luis Díaz Más d16ca65b01 Fix out of bounds read in isValidBoxFileType() 3 years ago
Luis Díaz Más 3b9fcb4b3d Update .clang-format to align pointers to the types 3 years ago
Luis Díaz Más d7f35e33f0 Remove useless static_casts 3 years ago
Luis Díaz Más 1545a1bc4a JP2 - stronger checks on Signatuer and FileType boxes 3 years ago
Luis Diaz b48e8e9379 Add unit tests for Jp2Image revealing bugs (see #2147) 3 years ago
Luis Díaz Más 30bf563f4d Update .clang-format file & apply clang-format to whole project 3 years ago
Luis Diaz 65568b056e Add unit tests for Error class 3 years ago
Luis Díaz Más 7119b7676f remove templating & simplify error message
+ clang-format in Error files
+ Remove AnyError
3 years ago
Luis Díaz Más 96f7f2e4c5 Convert Exiv2::ErrorCode into an enum class 3 years ago
Luis Diaz 56c52be8b5 DateValue is now a bit more permissive with malformed dates 3 years ago
Luis Diaz c1ae1bcb03 Recover IptDataSets::recordId in the API 3 years ago
Rosen Penev 3a2309bfea clang-tidy: replace typedef with using
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Rosen Penev 887b08b0b7 clang-tidy: range loop conversion
Signed-off-by: Rosen Penev <rosenp@gmail.com>
3 years ago
Luis Díaz Más b17828b454
Use SPDX for licenses (#2122)
* Use SPDX identifier in header files

* Use SPDX identifier in rest of source files

* Fix usage of SPDX for files with 2 licenses

* Add global license file

* Fix compilation
3 years ago
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
3 years ago
Luis Díaz Más 5d627433fc Remove useless DataBuf::clear() 3 years ago
Luis Díaz Más 56b5ab9a29 Use remove from filesystem 3 years ago
Luis Díaz Más f1ff3aaa4c Make urldecode in-place 3 years ago
Luis Díaz Más 405f4b5f1b Remove Util::dirname and finally the util files 3 years ago
Luis Díaz Más 1b912fa887 get rid of suffix 3 years ago
Luis Díaz Más d64c2aad67 Replace dirname implementation with std::filesystem 3 years ago
Luis Díaz Más 49fbfb44a3 Remove startsWith from utils 3 years ago