3500 Commits (aa86646f2717173f66369d86c6bc7bbbf4e8ceb8)

Author SHA1 Message Date
Rosen Penev c44c289d76 clang-tidy: fix ending namespace comnments
Found with llvm-namespace-comment

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev a74bceacb0 clang-tidy: remove pointless return
Found with readability-redundant-control-flow

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 743da1a564 clang-tidy: use C++ casting
Found with google-readability-casting

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 8dbc699858 clang-tidy: add missing explicit
Found with google-explicit-constructor

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev ff39473c18 clang-tidy: convert to static
Found with readability-convert-member-functions-to-static

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 6da49fd29b more constexpr
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev cdbee3c26c clang-tidy: init in member initializer
Found with cppcoreguidelines-prefer-member-initializer

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 036af68a71 remove pointless constructors
Replaced with Uniform initialization. Allows constexpr usage.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 8564d0b394 clang-tidy: pass by value
Found with modernize-pass-by-value

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev f9d394adf0 clang-tidy: run through performance checks
Found with performance*

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev b8712188bb clang-tidy: use auto
Found with modernize-use-auto

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 20dfab8036 manual for range loop conversions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 8e52032ee0 clang-tidy: range loop conversions
Found with: modernize-loop-convert

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev c73dfa0106 clang-tidy: use uppercase numeric literals
Found with readability-uppercase-literal-suffix

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 8e178e912e replace {} initialization with fill
Old compilers don't implement {} correctly.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev fdf9d3799c clang-tidy: don't use else after return
Found with llvm-else-after-return

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 4aa5566cf6 clang-tidy: make several member functions const
Found with readability-make-member-function-const

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 24a8139233 clang-tidy: fix badly indented if
Found with readability-misleading-indentation

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 1b9b77c51f clang-tidy: add ending namespace comments
Found with google-readability-namespace-comments

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev bf290e84e5 fix compilation with EXIV2_DEBUG_MESSAGES
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Miloš Komarčević 3416b631c5
Add Sony ARW compression to dict 4 years ago
Rosen Penev fddb035106 clang-tidy: remove pointless const
Found with readability-avoid-const-params-in-decls

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 80595f8468 clang-tidy: remove duplicate public
Found with readability-redundant-access-specifiers

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Kevin Backhouse ca66136092 Use readOrThrow to check error conditions of iIo.read().
(cherry picked from commit 0f9eb74c44c908e170a64cab590949d53749af8e)
4 years ago
Rosen Penev 5dc4292b40 fix bad for range loop
This loop is supposed to break when it encounters a match.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 091fd77885 clang-tidy: remove redundant member init
Found with readability-redundant-member-init

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 674fdcd38b clang-tidy: fix declartation names
Found with readability-inconsistent-declaration-parameter-name

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 2e73aa9dc0 default con/destructors in headers
Helps to optimize trivially destructable stuff.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 428c436629 clang-tidy: simplify boolean expression
Found with readability-simplify-boolean-expr

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 5d716c7df4 clang-tidy: empty() conversions
Found with readability-container-size-empty

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 9642e3cceb clang-tidy: remove pointless string init
Found with readability-redundant-string-init

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 143a1fbbe2 clang-tidy: don't use string compare
Found with readability-string-compare

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 8337462032 clang-tidy: use empty() instead of comparing size
Found with readability-container-size-empty

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev af7b2430c5 clang-tidy: use override
Found with modernize-use-override

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 15f0a600ed clang-tidy: use default member init
Found with modernize-use-default-member-init

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Kevin Backhouse 170b18db74
Merge pull request #1621 from Exiv2/mergify/bp/main/pr-1591
Fix infinite loop caused by subBox with zero size. (backport #1591)
4 years ago
Luis Díaz Más b4b8061478 Early access is always compiled 4 years ago
Kevin Backhouse 566ea272a1 Prevent large allocation.
(cherry picked from commit f154f0ae540deeb9251467187d01c2a5846d27b5)
4 years ago
Kevin Backhouse aac34630d4 Fix infinite loop caused by subBox with zero size.
(cherry picked from commit 2736126e7b92c5654f56620c097f9a4580c0f73b)
4 years ago
Luis Díaz Más 9dbffa719b Add missing public headers to install target 4 years ago
Rosen Penev 5a9c29303e clang-tidy: remove pointless static
Found with readability-static-definition-in-anonymous-namespace

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev bd6a996181 clang-tidy: use using
Found with modernize-use-using

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev b3040da54c clang-tidy: don't check for NULL with delete
Found with readability-delete-null-pointer

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 1dc1186760 clang-tidy: simplify boolean expressions
Found with readability-simplify-boolean-expr

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 8128716287 clang-tidy: use = default
Found with modernize-use-equals-default

Ran through git clang-format

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Kevin Backhouse 57cad2619b Add bounds check in Jp2Image::doWriteMetadata().
(cherry picked from commit e6a0982f7cd9282052b6e3485a458d60629ffa0b)
4 years ago
Luis Díaz Más b675c58bab Move include/CMake to src 4 years ago
Luis Díaz Más 1b4577904b Fix MSVC build 4 years ago
tbeu bf0d8114c9 #525: Update comment and fix variable name 4 years ago
tbeu 94420ab591 Remove custom rwlock in favor of `std::mutex` of C++11
Current design on Windows was broken anyway, since legacy class `RWLock` does not implement a proper rwlock (shared read and exclusive write)

Once we are allowed using C++14 features, we can replace the `std::mutex` by `std::shared_timed_mutex` and the read-access locks by `std::shared_lock`.
Once we are allowed using C++17 features, we can replace the `std::mutex` by `std::shared_mutex` and the read-acces locks by `std::shared_lock`.
4 years ago
Rosen Penev 4ceb325c8f clang-tidy: range for loop conversions
Found with modernize-loop-convert

Ran through git clang-format.

Also removed several questionable loops and replaced with simpler
algorithms.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev e93ad82734 clang-tidy: use braced init list
Found with modernize-return-braced-init-list

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Luis Díaz Más 294372f2ad cmake: revert change due to old cmake versions on CentOS & debian9 4 years ago
Luis Díaz Más 582edd399c cmake: ignore PDBs warnings on Win/Debug/Static buils 4 years ago
Luis Díaz Más 9de534976f msvc: fix compiler warning on x86 4 years ago
Luis Díaz Más 90dde02359 Win - Disable UNICODE which is failing at the moment 4 years ago
Rosen Penev 84220855b2 clang-tidy: use = delete
Found with modernize-use-equals-delete

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Luis Díaz Más 53f18cf408 conan: use cmake_paths generator instead of cmake
We also upgraded the xcode version on Travis-CI
4 years ago
Luis Díaz Más f601d23d5e conan: update conan recipe versions 4 years ago
Kevin Backhouse b3de96f4b4 Add more bounds checks in Jp2Image::encodeJp2Header 4 years ago
Luis Díaz Más e366c786b9 Fix -Werror=shadow warning after recovering EPS 4 years ago
Luis Díaz Más 9b9154d137 fix warning (hiding local variable) 4 years ago
Luis Díaz Más d5240a4bda eps: Fix code after usage of unique_ptr. Remove deprecation tags 4 years ago
Luis Díaz Más 8314030604 Revert "Remove deprecated EPS format"
This reverts commit 537cdad99e.
4 years ago
Kevin Backhouse 8388223deb Check that the string is properly terminated. 4 years ago
Kevin Backhouse e8422732af Fix LGTM warning about format specifier
https://lgtm.com/projects/g/Exiv2/exiv2/rev/pr-6633ad1cc6e6c36bffd6655165c299c53e934b22
4 years ago
Kevin Backhouse e97a9ff88a Fix signed/unsigned compiler warning. 4 years ago
Kevin Backhouse 27e349e063 Fix signed/unsigned compiler warning. 4 years ago
Kevin Backhouse 285e7a4e72 Fix out-of-bounds read in bmffimage.cpp 4 years ago
Kevin Backhouse 783b3a6ff1 Improve bound checking in WebPImage::doWriteMetadata() 4 years ago
Kevin Backhouse 23c1cda99d Fix signed/unsigned compiler warnings. 4 years ago
Kevin Backhouse f930883919 Better bounds checking in Jp2Image::encodeJp2Header() 4 years ago
Luis Díaz Más f85f7f717a Replace many of the iterators types with auto 4 years ago
Luis Díaz Más 75e4bd9059 Remove rest of useless typedefs from datasets.hpp 4 years ago
Luis Díaz Más 01a3bc716d Fix warnings in VS 4 years ago
Luis Díaz Más 75bf666d3b Remove typedef to Dictionary::const_iterator 4 years ago
Luis Díaz Más 0a1bf46a1c revert changes that are affecting to VS 4 years ago
Luis Díaz Más de4d43d4d1 Fix warnings EXIV2_TEAM_EXTRA_WARNINGS
Most of the warnings fixed were:
- Hiding of local variables
- Hiding of globals
- Useless casts
- Conversions between float/double
4 years ago
Luis Díaz Más 6c0059b5a0 cmake: Treat xmpsdk headers as system ones
This is done so that when we use EXIV2_TEAM_EXTRA_WARNINGS we do not get
warnings about XMPSDK (we do not want to deal with those)
4 years ago
Luis Díaz Más 83dda6ccd7 Fix warnings related to -Wdeprecated-copy 4 years ago
Robin Mills 3682bce15e Fix Ubuntu 20.04/Release/Sanitizer test breaker 4 years ago
Robin Mills d73dd0874d Fix icc_test which is failing on Linux:
luis@ryzenLinux:/media/linuxDev/programming/exiv2/buildReleaseSanitizers$ cp large.icc Reagan2.icc
luis@ryzenLinux:/media/linuxDev/programming/exiv2/buildReleaseSanitizers$ bin/exiv2 -iC /tmp/Reagan2.jp2
/media/linuxDev/programming/exiv2/src/jp2image.cpp:661:28: runtime error: reference binding to misaligned address 0x61f000002a9e for type 'const struct Jp2BoxHeader', which requires 4 byte alignment
0x61f000002a9e: note: pointer points here
 07 07 01 00 00 00  0c 53 63 6f 6c 72 02 00  00 00 00 0c 48 4c 69 6e  6f 02 10 00 00 6d 6e 74  72 52
4 years ago
Luis Díaz Más b5d3a1fd70 auto_ptr -> unique_ptr for code with WIN_UNICODE enabled 4 years ago
Luis Díaz Más 2de3bad869 Remove EXIV2_ENABLE_VIDEO and related stuff 4 years ago
Luis Díaz Más 3eb1eee7fe Remove deprecated RiffVideo support 4 years ago
Luis Díaz Más 061ec1a75d Remove deprecated QuickTime support 4 years ago
Luis Díaz Más 8dcc07887a Remove deprecated Matroska support 4 years ago
Luis Díaz Más 94b87a8dec Remove deprecated SSH support 4 years ago
Luis Díaz Más 384a5edfcf Remove deprecated ASF Video 4 years ago
Miloš Komarčević 3ddef8f8b8 Correct GDS distance unit in description
knot is a measure of speed...
4 years ago
Miloš Komarčević 94adf1b038 Improve precision of GPS lat/lon printed values 4 years ago
Miloš Komarčević 3f3bbc28ad Improve printing of GPS info 4 years ago
Robin Mills 206a2c495c fix_enableBMFF_v1 4 years ago
Miloš Komarčević f700043a6d Add Exif Gamma tag 4 years ago
Luis Díaz Más ede33f5eba Initialization of variables (fix issue detected with sanitizers) 4 years ago
Luis Díaz Más 5fcea2b4e2 Use stack variables instead of java style 4 years ago
Luis Díaz Más 0bbaa6eff3 cpp: Replace auto_ptr by unique_ptr 4 years ago
Luis Díaz Más 537cdad99e Remove deprecated EPS format 4 years ago
Robin Mills 9e6a520089
Merge pull request #1539 from Exiv2/FixIssue1530
Fix integer overflow
4 years ago
Kevin Backhouse 9b7a19f957
Fix integer overflow. 4 years ago
Kevin Backhouse 0a91b56616
Fix incorrect delete. 4 years ago
Pydera 13e5a3e023 Fix out of buffer access in #1529 4 years ago
Robin Mills 22ea582c6b fix_1522_jp2image_exif_asan 4 years ago
Robin Mills aef9cf76f7 fix_1503_JXL_bmff 4 years ago
Robin Mills 49cfe45323
Merge pull request #1513 from Exiv2/fix_1508_enableBMFF
Fix 1508 enable bmff
4 years ago
Robin Mills 9da2aed5d2 Use the documented 5 line prolog in every sample application. Tidy up sample prologs and header code. 4 years ago
Robin Mills 190106ca78 fix_1507_avif_size0x0 4 years ago
Robin Mills d632988bbd Massive code prolog cleanup. 4 years ago
Robin Mills 99600c6aaf exiv2 --verbose --version was reporting have_strerror_r twice! 4 years ago
Robin Mills 6fad24cd11
Merge pull request #1491 from Exiv2/fix_1486_effort2
fix_1486_effort2
4 years ago
Robin Mills 717fc098be fix_1486_effort2 https://github.com/Exiv2/exiv2/pull/1486#discussion_r593161473 4 years ago
Miloš Komarčević f95d97a0bf Add mif1 brand to heif mime type 4 years ago
Miloš Komarčević fcb3066950 Include a few more BMFF major brands 4 years ago
Miloš Komarčević b3dfabdde0
Merge pull request #1486 from Exiv2/fix_1484_empty_ascii
Terminate empty ASCII strings
4 years ago
clanmills ba6a577ab9 https://github.com/Exiv2/exiv2/pull/1486#issuecomment-796843835 4 years ago
Robin Mills 09567b477b
Merge pull request #1487 from kmilos/housekeep_bmff
Include HEIC type explicitly
4 years ago
Miloš Komarčević fa41e52c8a Add comment and test case 4 years ago
clanmills bf1be5cb50 fix_1473_LocationShown 4 years ago
Miloš Komarčević e3c78623f7 Include HEIC type explicitly 4 years ago
Miloš Komarčević 26ba26e241 Terminate empty ASCII strings as well 4 years ago
Robin Mills 9e2ac47cf9
Merge pull request #1475 from 1div0/BMFF
Base Media File Format
4 years ago
Robin Mills 02477faf4e Following review by @hassec, I use static base64_encoding vector in both Exiv2::base64encode() and Exiv2::base64decode().
I'm a little uneasy about changes to the API of the shared object/DLL.  I will investigate #890 during the release process.  So I have a plan to identify this if it's an issue.  I think it's OK.

```
703 rmills@rmillsmm-local:~/gnu/github/exiv2/bmff/build $ nm --demangle lib/libexiv2.dylib  | grep base64
00000000000384a0 T Exiv2::base64decode(char const*, char*, unsigned long)
0000000000038340 T Exiv2::base64encode(void const*, unsigned long, char*, unsigned long)
00000000001c33a0 s Exiv2::base64_encode
704 rmills@rmillsmm-local:~/gnu/github/exiv2/bmff/build $ nm -g --demangle lib/libexiv2.dylib  | grep base64
00000000000384a0 T Exiv2::base64decode(char const*, char*, unsigned long)
0000000000038340 T Exiv2::base64encode(void const*, unsigned long, char*, unsigned long)
705 rmills@rmillsmm-local:~/gnu/github/exiv2/bmff/build $
```
4 years ago
clanmills 212f1b5ebb Following review by @piponazo, I am clarifying the bool return from Exiv2::enableBMFF(). 4 years ago
clanmills e3fd0c633e Thank You @piponazo for the code review. I've made the changes you requested. 4 years ago
postscript-dev 5f563b5255 Fix spelling mistakes in LangAltValue::read()
Removed unneeded comments and empty space.
4 years ago
Miloš Komarčević 0da1a50afe Revert style changes 4 years ago
clanmills 4c52861a74 Fix msvc build breaker. 4 years ago
Miloš Komarčević e09d093ccf Minor whitespace formatting 4 years ago
postscript-dev 282d1d6995 Add static to LangAltValue::read() const values 4 years ago
clanmills f1303cbcda Another effort to fix base64decode and associated unit test. 4 years ago
clanmills 87e536dadf Fix #1358. This should be in a different PR. Keep changes to base64 encode/decode together. 4 years ago
clanmills db9bec3e01 Restore -pC --binary to output everything. Test suite updated to suit. 4 years ago
clanmills 21c610e952 Restoring i < dataLength trigraph that I should not have removed. 4 years ago
clanmills 2f2dd7d56c Fix ICC profile handling (my bad, iOS files are correct). 4 years ago
clanmills c59c53acf5 Trick to avoid msvc issue with final line of base64 data. 4 years ago
clanmills 1eeeecea50 Replaced Exiv2::base64encode() because last effort failed unit test on msvc. 4 years ago
postscript-dev 6cd9263fa7 Fix langAltValue::read() parsing
+ Fix segmentation faults in langAlt parse
+ Fix mismatched quotation marks and incorrect values
+ Add Python testing
  + Some tests commented out as quotation marks are filtered, preventing them
    from running.
Closes #1481.
4 years ago
clanmills 80e20304cb Fix Linux build breakers. 4 years ago
clanmills 5410395576 Replaced the ugly code in Exiv2::base64encode() and update the test suite. 4 years ago
clanmills 0ad46453ed With good fortune, bmffimage is ready for review. 4 years ago
clanmills ee4d14340a Fix box.length == to use bigEndian decode! Fix toAscii() to emit on ascii 32-127 bytes. 4 years ago
clanmills df68648dc3 refactored setModeAndPrintStructure() to respect class Task.binary_ when printing ICC profiles. 4 years ago
clanmills b983a9db75 Re-awaken obsolete command-line argument --binary and store class Task. 4 years ago
Robin Mills 71d29fe60b Fix MSVC build breaker and modify test_pr_1475_HIF.py to run on Windows. 4 years ago
clanmills 55d2201892 Changed CI build default -DEXIV2_ENABLE_BMFF=On. Fixed suite to run with/without bmff. -pS and -pR same for bmff. 4 years ago
Robin Mills c84274ec19 Cosmetic change to -pR/-pS output. 4 years ago
Robin Mills fd9cb67fb7 WIP: adding BmffImage::printStructure() and support for colr box. 4 years ago
Miloš Komarčević 2b38d221dc Adding DNG 1.6 triple-illuminant calibration tags 4 years ago
Robin Mills 4ca05ed34a Fix .CR3 files to call parseXmp(). 4 years ago
Robin Mills ea1c91874f Added parseXmp() to parse Xmp metadata. 4 years ago