Luis Díaz Más
b0318c36be
Upgrade C++ standard to c++17 ( #2052 )
...
* Enable C++17 and use new inline specifier for const variable members
* Silence deprecation warning on MSVC
* Disable samples by default
* improvements after review
3 years ago
Luis Díaz Más
813566526c
Revisiting cmake code for generating coverage reports ( #2047 )
...
* cmake: better usage of gcovr for coverage reports
* Add test for FileIo::setPath
* Remove useless seek() overload
* Add missing override specifiers
* ignore .vs folder
* Small refactors in BasicIo implementations
* Remove duplicated doxygen doc
* Refactor & add tests for MemIO
* Fix compilation warnings on windows
4 years ago
Kevin Backhouse
29f7d0ccf0
Remove DataBuf::release() which is no longer used.
4 years ago
Robin Mills
13a2cf336d
fix_1416_iptc_DateCreated ( #1547 )
...
* fix_1416_iptc_DateCreated
* Fix unit tests
* DateValue:read 2nd iteration on pre-condition
* test with ISO_8601 date format
* Use std::regex for ISO 8601 basic & extended date formats
* Use std::regex for ISO 8601 basic & extended time formats
* Add more tests & notes for DateValue & TimeValue
* Comment tests using local calendar times
* DateValue::write also adds padding to year field
Co-authored-by: Luis Díaz Más <piponazo@gmail.com>
4 years ago
Kevin Backhouse
44542a9f94
Add readOrThrow and seekOrThrow to BasicIo.
4 years ago
Miloš Komarčević
8b7d8729b7
Expose unsupported CR3 previews as binary
4 years ago
Miloš Komarčević
40e5021577
Limit CR3 previews to JPEG only
4 years ago
David Houlder
b385f2db1c
Canon cr3 previews ( #1958 )
...
* Extract THMB and PRVW images from Canon CR3 file
* Added test for Canon CR3 preview extraction.
Added test data Canon-R6-pruned.CR3 (first 492016 bytes of https://raw.pixls.us/getfile.php/4659/nice/Canon%20-%20Canon%20EOS%20R6%20-%203:2.CR3 ).
See https://github.com/Exiv2/exiv2/issues/1893
* Fixed format specifier
* Update src/bmffimage.cpp
Co-authored-by: Miloš Komarčević <4973094+kmilos@users.noreply.github.com>
* Update src/bmffimage.cpp
Co-authored-by: Miloš Komarčević <4973094+kmilos@users.noreply.github.com>
* retrigger checks
Co-authored-by: Miloš Komarčević <4973094+kmilos@users.noreply.github.com>
4 years ago
postscript-dev
c07bbfca3e
Fix doc description of Image::iccProfileDefined()
4 years ago
Kevin Backhouse
94ea0c6d90
Delete the copy assignment operator to avoid accidental copying.
4 years ago
Kevin Backhouse
81cfc162c1
Use std::move to transfer ownership of DataBufs.
4 years ago
Jim Easterbrook
a6480f972c
Hide "static constexpr auto" from SWIG
...
SWIG can't parse "static constexpr auto" at present. As there's no need
to SWIG private class members simply hiding the expression is all that's
needed.
4 years ago
Kevin Backhouse
9b79b378b1
Remove unused constructor that was causing a build failure in OSS-Fuzz.
...
Credit to OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=38491
4 years ago
Kevin Backhouse
9ff72e5ca5
Make offset=0 the default parameter.
4 years ago
Kevin Backhouse
c9d0cf3643
Make fields of DataBuf private.
4 years ago
Rosen Penev
f3fcffd6e6
remove most usages of std::make_pair
...
Better alternatives exist with C++11.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Kevin Backhouse
4674fae4ef
Safer casting from double to long.
...
(cherry picked from commit 372e28c41044a9e8b65d7d7093e028e30a7c8c8a)
4 years ago
Kevin Backhouse
2532f6db40
Add `markerHasLength` utility function.
4 years ago
Christoph Hasse
7251a96da6
remove exv_grep_keys_t type alias
4 years ago
Christoph Hasse
d82980b563
refactor: replace old linux regex.h with regex from STL.
4 years ago
Kevin Backhouse
02d4ef2c5e
Support for 64-bit box lengths looked broken.
4 years ago
Kevin Backhouse
8c64e9abba
Add `pbox_end` param to `BmffImage::boxHandler` to enforce box nesting.
4 years ago
Kevin Backhouse
5ab3f2b0c5
Defensive coding to avoid 0x80000000/0xFFFFFFFF FPE.
4 years ago
Rosen Penev
3b2a1b9d84
clang-tidy: use braced init list
...
Found with modernize-return-braced-init-list
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
52a9ed30cf
clang-tidy: use nullptr
...
Found with modernize-use-nullptr
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
7732b9308e
clang-tidy: add explicit
...
Found with hicpp-explicit-conversions
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
97cf02bf12
clang-tidy: remove redundant specifiers
...
Found with readability-redundant-access-specifiers
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
430ff1c9b8
clang-tidy: replace throw with noexcept
...
Found with modernize-use-noexcept
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
mergify[bot]
1d64f482ff
fix: use vector::at() rather than operator[] (backport #1735 ) ( #1741 )
...
* fix: use vector::at() rather than operator[] (#1735 )
* Regression test for https://github.com/Exiv2/exiv2/issues/1706
* Use vector::at() rather than operator[].
* Print to stderr when exception is caught and EXIV2_DEBUG_MESSAGES is enabled.
* Check that it prints "Bad value" for the date.
(cherry picked from commit f4d3adbf91e6dc4e34aee5bac7b7fd9e127a5c00)
# Conflicts:
# src/value.cpp
* fix merge conflicts from mergify backport
Co-authored-by: Kevin Backhouse <kevinbackhouse@github.com>
Co-authored-by: Christoph Hasse <hassec@users.noreply.github.com>
4 years ago
Kevin Backhouse
2b84f4bd64
fix: zero initialize local variables. ( #1743 )
...
* Zero initialize local variables.
* Initialize xmpID_
4 years ago
Rosen Penev
4a654e4266
clang-tidy: do not use 0 for bool
...
Found with modernize-use-bool-literals
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
99823a526c
clang-tidy: replace virtual with override
...
Found with modernize-use-override
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev
19000cd53c
con/destructor fixes
...
Added = delete to make it explicit. Also made them public.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
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
6 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
Luis Díaz Más
b208bcef7d
CMake: CURL does not need to be propagated
7 years ago
Luis Díaz Más
44a01863be
Include unistd.h only where it is needed
7 years ago
Luis Díaz Más
38ed6de05d
MSVC: Move compile definitions from config.h to CMake.
...
+ Also remove inclusion of <Windows.h> from config.h
7 years ago
Luis Díaz Más
8bf9ca8e6d
MSVC: Delete deprecated stuff related to MSVC < 2008
7 years ago
Luis Díaz Más
7485bb54d7
Create function getProcessPath and add unit test for it
...
Debugging: Relative and Absolute path alternatives
7 years ago
Luis Díaz Más
e20329b8e0
Remove EXV_HAVE_DLL and disable C4251 always on msvc.
7 years ago
Luis Díaz Más
417ad89e4b
Pass argument by const reference
7 years ago
Luis Díaz Más
59ba209fe8
Move BlockMap to .cpp file (Remove it from API)
...
- Also make some BlockMap methods const
7 years ago
Luis Díaz Más
cd09cda6ff
Clarify calculation precedence for >> and ?
7 years ago
Luis Díaz Más
dc7eb5008b
Add explicit to constructors with 1 argument
7 years ago
Robin Mills
12d44f8f17
Fix https://github.com/Exiv2/exiv2/issues/468
7 years ago
Dan Čermák
962962a8e9
Port Iptc::printStructure & getUshort to slices API
...
This fixes #211 , #210 , #209
7 years ago
Dan Čermák
98bca06592
Add Slices: views of STL containers & C-arrays and add unit tests
...
This commit adds a very simple implementation of std::span but with
mandatory range checks and only the most essential functionality.
7 years ago
Luis Díaz Más
19e740b447
Restore API functions remove in #450
7 years ago
Luis Díaz Más
18690f4c54
Provide default and copy constructor for AnyError
7 years ago
Luis Díaz Más
6e4404da81
Move implementation details from tags.cpp to tags_int.cpp
7 years ago
Luis Díaz Más
b9f913d5af
Move implementation to .cpp files. Fix more issues related to visibility settings
7 years ago
Luis Díaz Más
4574a659cc
Do not use EXIV2API where it is not needed
7 years ago
Luis Díaz Más
6ba4081f95
Use CMake-GenerateExportHeader to generate a macro to export symbols
...
- Delete the hardcoded macros in config.h taking care of that.
7 years ago
Luis Díaz Más
a0e7b7490f
Add MSVC definitions back that are still needed
7 years ago
Luis Díaz Más
78c0efeaef
Remove unused c++11 stuff from config.h
7 years ago
Luis Díaz Más
5c0a3b9786
Remove unused definitions from config.h
7 years ago
Luis Díaz Más
0da42d0399
Remove useless header inclusions from config.h
7 years ago
Luis Díaz Más
a6aeadc26b
Remove unused definitions for MSVC
7 years ago
Luis Díaz Más
ab6aac054a
Remove deprecated code from version source files
7 years ago
Luis Díaz Más
1871ce5acd
Remove 'version.hpp' inclusion from places where it is not needed
...
By removing the inclusion from types.hpp we avoid lots of recompilation
of source files.
7 years ago
Luis Díaz Más
808de65c37
Use CMake PROJECT_VERSION components in version files
7 years ago
Luis Díaz Más
2b74ad4feb
Default initialyze DataBuf::pData_ so that valgrind does not complain
7 years ago
Luis Díaz Más
603692a1d8
Copyright to Exiv2 authors
7 years ago
Luis Díaz Más
19d9ae844b
Remove hardcoded CURL_STATICLIB definition in config.h
7 years ago
Luis Díaz Más
4161099b91
Fix warnings reported by MSVC
7 years ago
clanmills
3c42fdddeb
Fix include <exiv2/exiv2.hpp> to include exiv2/config.h (and consequential changes)
...
Fix cltest.cpp and version.cpp to report MSVC 2017 in which _MSC_VER == 1910
7 years ago
Dan Čermák
9f1a5a1ebb
[futils] Change signature of getEnv to take an int
...
While taking an EnVar as the parameter is more clear it has the
disadvantage, that passing anything outside of the range of the
enumeration is undefined behavior. The compiler could then optimize
the range check in getEnv away (perfectly legal due to UB), leading
to buffer overreads.
7 years ago
Dan Čermák
11df43be78
[types] Apply Safe::abs() in floatToRationalCast & gcd
...
Also check for infinity in floatToRationalCast as depending on the
compiler special values of floats are converted to either
LONGMAX/LONGMIN or +/-inf
7 years ago
Luis Diaz Mas
eb306fdbae
Substitute malloc/free with new/delete
7 years ago
Luis Diaz Mas
08cbb0c206
Use header guards instead of pragma once
7 years ago
Luis Diaz Mas
5d76036af5
Add more tests for decoding and encoding URL functions
7 years ago
Luis Diaz Mas
eefee8125b
to_hex and from_hex removed from API
7 years ago
Luis Diaz Mas
22d9ab82a7
Format futils.h for better readability (also pass clang-format to it)
7 years ago
Luis Diaz Mas
c82d875707
Use pragma once instead of guards
7 years ago
Luis Diaz Mas
a3c200a23e
Remove useless header inclusions
7 years ago
Dan Čermák
b12a868454
Add EXV_WARN_UNUSED_RESULT macro & add it to DataBuf::release()
...
EXV_WARN_UNUSED_RESULT is a conditional macro that expands to either
__attribute__((warn_unused_result)) on gcc & clang or to _Check_return
for MSVC
=> Compiler warns if the return value is ignored
7 years ago
Dan Čermák
1b74db8f51
[types] Add DataBuf::free()
...
DataBuf::release() easily cause memory leaks, when the return value is
ignored. free() provides the desired behavior, when the internal data should
just be deleted and not used further.
7 years ago
Luis Diaz Mas
69ee165291
msvc: Remove manually generated configuration files for MSVC builds
7 years ago
tbeu
9c507b9d20
Fix function declaration
...
V762 It is possible a virtual function was overridden incorrectly. See third argument of function 'printStructure' in derived class 'TiffImage' and base class 'Image'. tiffimage.hpp 93
7 years ago
Luis Díaz Más
e32323d7c7
Simplify usage of strerror_r.
...
- Define STRERROR_R_CHAR_P properly on CMake and use it on futils.cpp
- We use now _GNU_SOURCE to determine which version of strerror_r to use
- strError only throws if ret==ERANGE
- Remove STRERROR_R_CHAR_P. It has been never used
- sort defines in config.h.cmake
- Remove EXV_HAVE_DECL_STRERROR_R that is not used anymore
- Remove EXV_HAVE_STRERROR. C++98 always will have it
7 years ago
Luis Díaz Más
f86542e5f6
Remove EXV_HAVE_STRTOL
7 years ago
Luis Díaz Más
d55b2b1b65
Remove HAVE_STDLIB_H check and replace stdlib.h by cstdlib
7 years ago
Luis Díaz Más
aded1965c5
Remove EXV_HAVE_MEMSET
7 years ago
Luis Díaz Más
abd28a6a9e
Remove EXV_HAVE_STRCHR
7 years ago
Dan Čermák
b1a31352b6
Add default constructor for XmpData
7 years ago
Dan Čermák
2bf89f4854
Store pointers to Impl classes in auto_ptr
...
Pimpl class Impl is stored in raw pointers which are allocated on the heap in
the constructor. However, the constructor can throw an exception resulting in a
memory leak as the destructor is **not** invoked.
=> A smart pointer is however properly deallocated.
7 years ago
Luis Díaz Más
bf7047a71b
clang-format XmpKey code
7 years ago
Luis Díaz Más
336b759cc0
Remove 'using namespace' from public header
7 years ago
Dan Čermák
22a7a8c2ed
Fix outdated documentation of PngImage::doWriteMetadata()
...
The function does not return anything, it only throws exceptions.
7 years ago
Dan Čermák
efe2ccdcb6
Replaced all hardcoded error codes with ker... constants
7 years ago
Dan Čermák
d897997b29
Force error code usage to construct a Exiv2::BasicError
...
changed parameter code_'s type from int to ErrorCode => requires the
usage of the enum constants
7 years ago
Dan Čermák
b80fa1b4ed
Added error codes from src/error.cpp into an enumeration
7 years ago
Luis Díaz Más
f36bea3801
exiv2::getEnv throws std::out_of_range on unexpected EnVar
...
This change define explicitly the behavior that exiv2::getEnv should have
on response to unexpected inputs.
There are some other minor changes:
- Use _putenv_s for the unit tests on Windows
- Add todo comment
- Remove deprecated note about freeing memory
8 years ago
Luis Díaz Más
8dc3c1f0a0
Replace malloc/free by new/delete. Use const char* for input arg
8 years ago
Luis Díaz Más
8b049922d7
Change exiv2::urlencode signature to return std::string
...
The goal of this change is to remove the responsibility from the client code to
free the memory of the returned string.
8 years ago
tbeu
5df8b01b77
Remove obsolete svn revision
8 years ago
Luis Díaz Más
4beb08e219
Merge pull request #105 from Kicer86/bigtiff
...
Work in progress - improvements for bigtiff
8 years ago
Michał Walenciak
2e535d8a27
trying to fix windows build
8 years ago
Luis Díaz Más
5b8894908b
Remove all references to EXV_HAVE_REGEX and related code
8 years ago
Luis Díaz Más
8ad49f6d73
Robin changes in sync with master changes
8 years ago
clanmills
6e3855aed7
Fix https://github.com/Exiv2/exiv2/issues/55
8 years ago