Commit Graph

3924 Commits

Author SHA1 Message Date
Miloš Komarčević
c2fbff291e PNG: always strip the existing iCCP chunk 2022-06-30 09:50:53 +02:00
Rosen Penev
cf963e9e4d clang-tidy: C casts to C++
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-05-21 17:58:10 -07:00
Rosen Penev
a98954a98e clang-tidy: add missing special member functions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-05-21 17:39:26 -07:00
Rosen Penev
b4c90b5e16 clang-tidy: replace pointer magic with data()
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-05-21 17:14:58 -07:00
Miloš Komarčević
93dc63b389
Merge pull request #2215 from Exiv2/add_f_lenses
Add some F mount lenses
2022-05-21 16:13:05 +02:00
Miloš Komarčević
e00422ae52 Account for header bytes for Exif and XMP boxes 2022-05-19 10:25:13 +02:00
Rosen Penev
0dcd8605c9 fix mmap compilation
CI doesn't catch all cases failing.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-29 10:49:14 +02: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
d59e1433c0 replace readlink with std::filesystem
Simpler.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-25 07:44:44 +02:00
Miloš Komarčević
707e22c577 Add some F mount lenses 2022-04-20 16:31:46 +02:00
Rosen Penev
bd1758c3c5 remove some double pointer stuff
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-18 15:35:06 -07:00
Rosen Penev
65c5b772c9 fix misplaced const
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-18 14:23:58 -07:00
Rosen Penev
c9c2a1847b remove const std::function
std::move is used.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-18 13:59:35 -07: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
Rosen Penev
48f848f5bb clang-tidy: remove const params in decls
Found with readability-avoid-const-params-in-decls

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-18 13:53:13 -07:00
Rosen Penev
2e721a716e std::function conversions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-18 13:02:32 -07:00
Rosen Penev
a8061e7ee9 clang-tidy: default member init
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-14 18:01:55 -07:00
Rosen Penev
151b54ab3e remove default constructor
This is rule of zero.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-14 18:00:54 -07:00
Luis Díaz Más
2b74cc885d Revert some boilerplate which is not needed 2022-04-14 13:22:45 +02: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
cc79051b79 Move 1-liner to header file 2022-04-14 10:41:06 +02:00
Luis Díaz Más
ee855c0e71 Reduce amount of string transformations 2022-04-14 10:41:02 +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
c3d0100d48 Fixing bad usages of DataBuf (when it 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
941017d281
Fix issues on ARM builds (#2205)
* Specify base class initialization in Copy Constructor

* Fix printing of uint64_t variable in ARM 32bits

Use cinttypes

* Fix alignment issues on ARM 32 bits

* tests: add assertion with custom message
2022-04-13 15:22:22 +02:00
Rosen Penev
6203ded16f add constexpr constructor
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-13 08:02:30 +02:00
Rosen Penev
8d2e1926ca remove unused class declarations
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-12 08:47:54 +02:00
Luis Díaz Más
25c47cd1cf
Merge pull request #2197 from Exiv2/mainRefactoringFormats
Refactoring in JpegImage and Photoshop classes
2022-04-10 13:23:33 +02:00
Luis Díaz Más
f07c88de5d Use .front() to avoid warning from static analysis 2022-04-10 10:55:14 +02:00
Luis Díaz Más
4d99c2aca1 Use std::pair to return multiple values 2022-04-10 10:55:13 +02:00
Luis Díaz Más
4ee9c35799 Include missing iostream header in photoshop.cpp 2022-04-10 10:55:13 +02:00
Luis Díaz Más
f942ba89bd Move Photoshopb class to internal namespace 2022-04-10 10:55:10 +02:00
Luis Diaz
047f6b733e Change logic to determine if segment has size
Note that the failing tests that had to be adapted were bad formed files
from FUZZERs. We should not consider invalid markers like 0x00 or 0x52
but only undefined APPn markers.
2022-04-10 10:53:36 +02:00
Luis Diaz
400632f27b Factor out function readSegmentSize() 2022-04-10 10:53:35 +02:00
Luis Diaz
24d2a7b8f0 JpegBase::markerHasLength moved to implementation details 2022-04-10 10:53:35 +02:00
Luis Diaz
23fe743d4d Move private constants to .cpp 2022-04-10 10:53:34 +02:00
Luis Diaz
b00e460d76 Move static functions to anonymous namespace 2022-04-10 10:53:34 +02:00
Rosen Penev
c997b09a81 algorithm conversions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-10 01:40:39 -07:00
Rosen Penev
d789968e90 replace malloc/free with new/delete
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-10 01:40:39 -07:00
Rosen Penev
a20ace20fc clang-tidy: manual clang-tidy fixes
clang-tidy has issues applying these.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-10 01:40:39 -07:00
Rosen Penev
ae66ecec0d clang-tidy: use nullptr
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-10 01:40:39 -07:00
Rosen Penev
49bf7e1387 clang-tidy: use delete
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-10 01:40:39 -07:00
Rosen Penev
e654b2931c clang-tidy: replace throw() with noexcept
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-10 01:40:39 -07:00
Rosen Penev
1f05448d0e clang-tidy: default member init
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-04-10 01:40:39 -07:00