Commit Graph

258 Commits

Author SHA1 Message Date
Kevin Backhouse
86816c0280 Fix signed/unsigned mismatch. 2019-05-12 14:15:21 +02:00
Kevin Backhouse
caa4e6745a Avoid negative integer overflow when filesize < io_->tell().
This fixes #791.
2019-05-12 14:15:21 +02:00
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__(...)
2019-02-02 09:52:39 +01:00
Luis Díaz Más
704fc56d52 Keep the profileName from readMetadata and use it in writeMetadata 2019-01-24 23:16:25 +01:00
Luis Diaz Mas
42d79e87aa Deprecate SshIo, Video, EPS and SSH classes 2019-01-15 12:58:06 +01:00
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
2019-01-12 17:10:14 +01:00
Luis Diaz Mas
6f8d8e3da6 cleanup header inclusions in API 2019-01-11 15:55:25 +01:00
Luis Diaz Mas
4bd7e9ef1f Include exiv2lib_export.h in all public headers 2019-01-11 15:55:25 +01:00
Andreas Schneider
ed3a0f1341 cmake: Install header files without globbing
Fixes #627

Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
(cherry picked from commit 0b34ccb9a3b26cd1c5267c6a5c15e9fa1a665adb)
2019-01-05 13:08:49 +01:00
Robin Mills
54d4507a4d Fix: https://github.com/Exiv2/exiv2/issues/584 2018-12-09 18:54:40 +01:00
Robin Mills
6f3e10779e Fix: https://github.com/Exiv2/exiv2/issues/576 2018-12-09 18:54:40 +01:00
clanmills
c22a38cfb4 Fix for https://github.com/Exiv2/exiv2/issues/560 (eraseFamily() crashes in MSVC/Debug). 2018-11-30 14:18:17 +01:00
Robin Mills
1b136f0657 Revision to PR#557. Restored XmpData::erase() and added XmpData::eraseFamily(). Restored and augumented conversions.sh 2018-11-30 14:18:17 +01:00
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
2018-11-30 14:18:17 +01:00
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.
2018-11-19 11:38:26 +00:00
Luis Díaz Más
b208bcef7d CMake: CURL does not need to be propagated 2018-11-14 19:53:59 +01:00
Luis Díaz Más
44a01863be Include unistd.h only where it is needed 2018-11-11 12:27:26 +01:00
Luis Díaz Más
38ed6de05d MSVC: Move compile definitions from config.h to CMake.
+ Also remove inclusion of <Windows.h> from config.h
2018-11-11 12:27:26 +01:00
Luis Díaz Más
8bf9ca8e6d MSVC: Delete deprecated stuff related to MSVC < 2008 2018-11-11 12:27:26 +01:00
Luis Díaz Más
7485bb54d7 Create function getProcessPath and add unit test for it
Debugging: Relative and Absolute path alternatives
2018-11-11 12:27:26 +01:00
Luis Díaz Más
e20329b8e0 Remove EXV_HAVE_DLL and disable C4251 always on msvc. 2018-11-11 12:27:26 +01:00
Luis Díaz Más
417ad89e4b Pass argument by const reference 2018-11-07 23:17:26 +01:00
Luis Díaz Más
59ba209fe8 Move BlockMap to .cpp file (Remove it from API)
- Also make some BlockMap methods const
2018-11-07 23:17:26 +01:00
Luis Díaz Más
cd09cda6ff Clarify calculation precedence for >> and ? 2018-11-07 23:17:26 +01:00
Luis Díaz Más
dc7eb5008b Add explicit to constructors with 1 argument 2018-11-07 23:17:26 +01:00
Robin Mills
12d44f8f17 Fix https://github.com/Exiv2/exiv2/issues/468 2018-10-26 17:47:15 +02:00
Dan Čermák
962962a8e9 Port Iptc::printStructure & getUshort to slices API
This fixes #211, #210, #209
2018-10-11 14:06:16 +02:00
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.
2018-10-11 14:06:16 +02:00
Luis Díaz Más
19e740b447 Restore API functions remove in #450 2018-10-10 18:16:57 +02:00
Luis Díaz Más
18690f4c54 Provide default and copy constructor for AnyError 2018-09-14 13:20:08 +02:00
Luis Díaz Más
6e4404da81 Move implementation details from tags.cpp to tags_int.cpp 2018-09-14 13:20:08 +02:00
Luis Díaz Más
b9f913d5af Move implementation to .cpp files. Fix more issues related to visibility settings 2018-09-14 13:20:08 +02:00
Luis Díaz Más
4574a659cc Do not use EXIV2API where it is not needed 2018-09-14 13:20:08 +02:00
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.
2018-09-14 13:20:08 +02:00
Luis Díaz Más
a0e7b7490f Add MSVC definitions back that are still needed 2018-09-14 07:43:21 +02:00
Luis Díaz Más
78c0efeaef Remove unused c++11 stuff from config.h 2018-09-14 07:43:21 +02:00
Luis Díaz Más
5c0a3b9786 Remove unused definitions from config.h 2018-09-14 07:43:21 +02:00
Luis Díaz Más
0da42d0399 Remove useless header inclusions from config.h 2018-09-14 07:43:21 +02:00
Luis Díaz Más
a6aeadc26b Remove unused definitions for MSVC 2018-09-14 07:43:21 +02:00
Luis Díaz Más
ab6aac054a Remove deprecated code from version source files 2018-09-14 07:43:21 +02:00
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.
2018-09-14 07:43:21 +02:00
Luis Díaz Más
808de65c37 Use CMake PROJECT_VERSION components in version files 2018-09-14 07:43:21 +02:00
Luis Díaz Más
2b74ad4feb Default initialyze DataBuf::pData_ so that valgrind does not complain 2018-09-13 11:18:29 +02:00
Luis Díaz Más
603692a1d8 Copyright to Exiv2 authors 2018-09-12 19:22:31 +02:00
Luis Díaz Más
19d9ae844b Remove hardcoded CURL_STATICLIB definition in config.h 2018-09-12 19:22:31 +02:00
Luis Díaz Más
4161099b91 Fix warnings reported by MSVC 2018-09-10 10:31:00 +02:00
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
2018-09-01 20:19:45 +02:00
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.
2018-08-27 17:22:33 +02:00
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
2018-08-27 17:21:16 +02:00
Luis Diaz Mas
eb306fdbae Substitute malloc/free with new/delete 2018-08-27 13:24:47 +02:00