Rosen Penev
7a2b05e813
clang-tidy: use = default
...
Found with modernize-use-equals-default
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
e53548a95a
clang-tidy: use default member init
...
Found with modernize-use-default-member-init
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
17a8d743a5
clang-tidy: do not use else after return
...
Found with llvm-else-after-return
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
e9309f25ab
clang-tidy: simplify bools
...
Found with readability-simplify-boolean-expr
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
c20394b3fa
remove old MSVC hacks
...
This is C++11 now.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
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
4 years ago
Christoph Hasse
758dd6bbc6
refactor!: remove free() function from DataBuf to avoid potential problems, see #1542
4 years ago
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>
4 years ago
Rosen Penev
e5894d71e1
default con/destructors in headers
...
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
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
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
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
Luis Díaz Más
b675c58bab
Move include/CMake to src
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
Miloš Komarčević
bc37a6ccb4
Update bmffimage.hpp include order and path
...
No need to treat it differently since 206a2c495c
(could even back-port to 0.27 if there is RC3 coming)
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
ed6cbf77b4
Revert "eps - do not install header"
...
This reverts commit 8f16196ad3
.
4 years ago
Luis Díaz Más
8314030604
Revert "Remove deprecated EPS format"
...
This reverts commit 537cdad99e
.
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
75bf666d3b
Remove typedef to Dictionary::const_iterator
4 years ago
Luis Díaz Más
83dda6ccd7
Fix warnings related to -Wdeprecated-copy
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
Robin Mills
b19e79650f
Only reveal class bmffimage in include/exiv2/bmffimage.hpp ifdef EXV_ENABLE_BMFF
4 years ago
Robin Mills
206a2c495c
fix_enableBMFF_v1
4 years ago
Luis Díaz Más
8f16196ad3
eps - do not install header
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
d632988bbd
Massive code prolog cleanup.
4 years ago
Robin Mills
9e2ac47cf9
Merge pull request #1475 from 1div0/BMFF
...
Base Media File Format
4 years ago
clanmills
e3fd0c633e
Thank You @piponazo for the code review. I've made the changes you requested.
4 years ago
Miloš Komarčević
0da1a50afe
Revert style changes
4 years ago
Miloš Komarčević
e09d093ccf
Minor whitespace formatting
4 years ago
clanmills
ae66869695
Updated to adopt Review suggestions by @kmilos. Thank You, Milos.
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
0ad46453ed
With good fortune, bmffimage is ready for review.
4 years ago
Robin Mills
71d29fe60b
Fix MSVC build breaker and modify test_pr_1475_HIF.py to run on Windows.
4 years ago
Robin Mills
fd9cb67fb7
WIP: adding BmffImage::printStructure() and support for colr box.
4 years ago
Robin Mills
ea1c91874f
Added parseXmp() to parse Xmp metadata.
4 years ago
Robin Mills
44d976c2a1
Remove bmffimage::printStructure() as discussed in review with @hassec. Corpse removal and cleanup in bmpfimage.hpp
4 years ago
Robin Mills
5c77888037
Revised following code review by @hassec. Thank You, Christoph.
4 years ago
Peter Kovář
4d3af08ad8
Add CR3 image dimensions
4 years ago
Robin Mills
4ae0a1d2a3
Tidy up. Rename Tag::cr3_exif -> Tag:cmt2
4 years ago
Robin Mills
9515e4658b
Cleanup. 1. Recursively process uuid/cano box. 2. Fix LGTM/CI sprintf grumbles. 3. Comment parseTiff() in bmffimage.hpp.
4 years ago
Robin Mills
913ee33372
Parse Exif in .HEIC/.AVIF
4 years ago
Christoph Hasse
28b41f59bd
run clang-format on new files
4 years ago
Christoph Hasse
29f3d5cac9
introduce parseTiff method to parse exif
4 years ago
Robin Mills
f190f496d1
Tidying up. 1. pixelHeight_. 2. refactored indenter() -> indent(). 3. EXIV2_DEBUG_MESSAGES outputs to std::cerr
4 years ago
Robin Mills
8d7133d7bc
WIP: Added class Iloc and related code.
4 years ago
Robin Mills
6d13e44e5a
WIP: Refactored readMetadata() into recursive boxHandler()
4 years ago
Peter Kovář
04481dd753
[WIP] 64-bit length
4 years ago
Peter Kovář
f0a321dedb
[WIP] Base Media File Format
4 years ago
Peter Kovář
c608148820
[WIP] Added box types
4 years ago
Peter Kovář
e19fca6640
Small corrections
4 years ago
Robin Mills
fa39234275
Fixing Linux build/test issues.
4 years ago
Robin Mills
0844e1bbfb
Rename class ISOBMFF => class bmffImage to match other image handlers. Removed C++11 style code. Removed unused code.
4 years ago
Robin Mills
460a802671
Fix image handler to give jp2image code higher priority than the next isobmff code.
4 years ago
Peter Kovář
92469f4c27
[WIP] Add ISO/IEC Base Media File Format
4 years ago
Miloš Komarčević
98f4effeea
Add DateTimeOriginal to easyaccess
5 years ago
Miloš Komarčević
189e0c9338
Add more easy accessors for Exif & TIFF/EP overlap
5 years ago
Luis Díaz Más
b304244766
Move winsock2 inclusion to http.cpp
5 years ago
Robin Mills
604a268059
Second effort to unexpose winsock2.h from include <exiv2/exiv2.hpp> using EXIV2_BUILDING_EXIV2 mechanism.
5 years ago
clanmills
7ff0e0613a
fix_1335_winsock2_0.27
5 years ago
clanmills
96ddbc3738
Remove bigtiffimage.hpp from include/exiv2/CMakeLists.txt
5 years ago
clanmills
48afa7548d
fix_1329_remove_bigtiff_0.27
5 years ago
Luis Díaz Más
f39b23806b
Assume existence of stdint.h
5 years ago
Robin Mills
7bf40a2408
fix_1211_c++11_0.27. I'll explain this in the PR.
5 years ago
clanmills
529ffdc418
Use using auto_ptr = std::unique_ptr<T>; on all C++11 (and greater) platforms. Don't include unistd.h on MSVC.
5 years ago
Robin Mills
cd5512e761
WIP. C++11 support
5 years ago
clanmills
f1182b8d73
Only #include<memory> when C++ >= C++11
5 years ago
clanmills
c423b91b92
Change config.h to compile isatty() and getpid() on macOS when -DCMAKE_CXX_STANDARD=98
5 years ago
clanmills
e0f65f7e75
Always include <memory.h> before discussing auto_ptr
5 years ago
clanmills
63a13e8620
Adding option -DEXIV2_BUILD_USE_C++11
5 years ago
Robin Mills
76d2798172
Pushing very helpful suggestion by @lantw44
6 years ago
clanmills
94a777609e
fix947_FreeBSD_BasicError_typeinfo
6 years ago
Kevin Backhouse
86816c0280
Fix signed/unsigned mismatch.
6 years ago
Kevin Backhouse
caa4e6745a
Avoid negative integer overflow when `filesize < io_->tell()`.
...
This fixes #791 .
6 years ago
Michał Walenciak
a7340a3801
removinf usage of EXIV2_DEPRECATED macro
...
It can expand to [[deprecated]] which cannot be combined
with result of EXIV2API macro expansion: __attribute__(...)
6 years ago
Luis Díaz Más
704fc56d52
Keep the profileName from readMetadata and use it in writeMetadata
7 years ago
Luis Diaz Mas
42d79e87aa
Deprecate SshIo, Video, EPS and SSH classes
7 years ago
Luis Díaz Más
04c9b181cc
Fix #644 . Export specializations of BasicError
...
- Only export BasicError::setMsg which is the only implementation present in the .cpp
- Only export BasicError specialization on __APPLE__
It seems that gcc automatically adds the attribute when the visibility
settings are set to hidden. See this link for more information:
https://reviews.llvm.org/D35388
7 years ago
Luis Diaz Mas
6f8d8e3da6
cleanup header inclusions in API
7 years ago
Luis Diaz Mas
4bd7e9ef1f
Include exiv2lib_export.h in all public headers
7 years ago
Andreas Schneider
ed3a0f1341
cmake: Install header files without globbing
...
Fixes #627
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
(cherry picked from commit 0b34ccb9a3b26cd1c5267c6a5c15e9fa1a665adb)
7 years ago
Robin Mills
54d4507a4d
Fix: https://github.com/Exiv2/exiv2/issues/584
7 years ago
Robin Mills
6f3e10779e
Fix: https://github.com/Exiv2/exiv2/issues/576
7 years ago
clanmills
c22a38cfb4
Fix for https://github.com/Exiv2/exiv2/issues/560 (eraseFamily() crashes in MSVC/Debug).
7 years ago
Robin Mills
1b136f0657
Revision to PR#557. Restored XmpData::erase() and added XmpData::eraseFamily(). Restored and augumented conversions.sh
7 years ago
Robin Mills
ccd708df24
Fix: https://github.com/Exiv2/exiv2/issues/521
...
conversions.sh reveals a (harmless) order change runTest exiv2 -M'set Xmp.xmp.ModifyDate 2015-04-17T18:10:22Z' v.xmp
7 years ago
Robin Mills
89375979d8
https://github.com/Exiv2/exiv2/issues/555
...
I have restored the Macro EXIV2_TEST_VERSION in include/exiv2/version.hpp
I have added an option --version-test to exifprint.cpp to test/validate EXIV2_TEST_VERSION works as documented.
Version strings in Exiv2 v0.27 and later have a fourth digit to indicate the pre-release number of the build.
Pre-release builds should never be used for production purposes.
7 years ago