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
clanmills
e3298ab5e1
Integrating #55 and #78
8 years ago
Dan Čermák
d4e7510f7c
Added missing include for INT_MIN & INT_MAX constants
8 years ago
clanmills
8a8f60a4e7
Fix https://github.com/Exiv2/exiv2/issues/55 Thank You, Raphaël Hertzog.
8 years ago
Michał Walenciak
b6e79357de
Adding 8-byte swap functions + consts
8 years ago
Michał Walenciak
c008ad2403
making tag related functions private
8 years ago
Michał Walenciak
ca1929d88a
adding 64bit types
8 years ago
Michał Walenciak
ab27bfab3c
introducing getULongLong()
8 years ago
Michał Walenciak
bc6eed0b03
registering new file type
8 years ago
clanmills
d366943297
Refactoring EXV_USE_CURL and EXV_USE_SSH
8 years ago
Robin Mills
d356aaae95
cmakeBuild.cmd --webready working with VS 2005
8 years ago
clanmills
2828b11cf7
Build changes to support EXV_HAVE_REGEX and EXV_HAVE_REGEX_H
8 years ago
Robin Mills
31fc5d2e30
Merge pull request #62 from Kicer86/crash_fix
...
Fix for crash in multithread environment
8 years ago
Michał Walenciak
20582a93c6
Marking members in a proper way.
8 years ago
Michał Walenciak
4e25435afb
Changing return type of Image::tagName to std::string
8 years ago
Michał Walenciak
0d9552aede
adding comment
8 years ago
Michał Walenciak
ddb87fe0cf
Moving static tagName() into Image class to prevent multithread crashes.
...
static variables inside of tagName() were not protected against multithread access.
It could cause a crash in case of simultaneous initialization of map of tags.
8 years ago
Robin Mills
aac74efb8e
http://dev.exiv2.org/boards/3/topics/2872 I've removed the troublesome Visual Studio SRWLock code and use CRITICAL_SECTION for all msvc builds.
8 years ago
Robin Mills
afba52e042
Remove include tags_int.hpp from include/exiv2/*video.hpp files
8 years ago
Luis Diaz Mas
6be5278dd2
Fix inclusion of file
8 years ago
Luis Díaz Más
1c03767391
Move inclusion of private header from .hpp to .cpp (not needed in the .hpp)
8 years ago
clanmills
935421c855
Refactoring autotools to support ADOBE_XMPSDK (Work in Progress)
8 years ago
clanmills
62d24d3c77
Correction to previous commit.
8 years ago
clanmills
2e816165ea
Changes to autotools to support C++11 (work in progress)
8 years ago
clanmills
df53123cfb
Restoring exv_msvc.h for use by msvc/exiv2/libexiv2.vcproj
8 years ago
Luis Díaz Más
ea0c4899ff
Remove exv_msvc.h. It has the same content than exv_conf.h and we were getting lot of warnings when compiling with MSVC
8 years ago
Luis Diaz Mas
22efdffd1d
Use #ifdef instead of #if for EXV_HAVE_REGEX
8 years ago
Luis Diaz Mas
8c323cad04
Remove EXV_HAVE_STDINT_H definition that was causing warnings
8 years ago
Luis Diaz Mas
db5ce5ed82
Remove few unused variables declared in CMakeChecks.txt
8 years ago
Luis Diaz Mas
367d3b8a1e
Remove unused HAVE_WCHAR_H variable
8 years ago
Luis Diaz Mas
2887a0dbad
Remove unused HAVE_VPRINTF variable
8 years ago
Luis Diaz Mas
d85a7c6751
Remove unused HAVE_SYS_TIME_H and TM_IN_SYS_TIME variables
8 years ago
Luis Diaz Mas
1a34a55383
Handle HAVE_STRINGS_H variable in the new cmake file
8 years ago
Luis Diaz Mas
bfb849859a
Remove unused variable HAVE__BOOL
8 years ago
Luis Diaz Mas
72e12cdbf2
Remove unused variable HAVE_REALLOC
8 years ago
Luis Diaz Mas
d8ada323e3
Remove unused MALLOC variables
8 years ago
Luis Diaz Mas
09fc98eebf
Handle all the PACKAGE_XXX variables in the new cmake file
8 years ago
Luis Diaz Mas
485891b991
Remove unused definition HAVE_ALARM
8 years ago
clanmills
a9c9e8ff8e
Remove svn_version.h
8 years ago
Robin Mills
bf473ae718
#1292 Dimitri: Thank You for reporting this and providing the patch.
8 years ago
Robin Mills
559ace375b
#1291 Reverting change in r4763 relating to windows.h as they break the Cygwin build. Retain changes in exiv2/exiv2.hpp and exv_msvc.h
8 years ago
Robin Mills
f36cccefa2
#1291 include header simplification
8 years ago
Robin Mills
fb24a572c6
#1291 Thank you to T Modes for reporting this and providing this patch.
8 years ago
Robin Mills
73572aa54d
#1291 Fix submitted. Thank You to T Modes for reporting this issue.
8 years ago
Robin Mills
67859f4f4e
#1175 I'm going to accept the recommendation to change BasicIo::size() to return size_t. This passes the test suite. The only "ripple" outside of basicio is to iotest.cpp. This change enables several casts to be removed.
8 years ago
Robin Mills
73047ce568
#1279 Correction to r4748 which broke the CMake build.
8 years ago
Robin Mills
54408bac2f
#1279 Move src/ini_int.hpp to include/exiv2/ini.hpp to reveal class Exiv2:INIReader in API
8 years ago
Robin Mills
192a2a83cf
#1279 Cleaned up doxygen warnings for doc and website.
8 years ago
Robin Mills
199820576d
#1279 Work in Progress: API Documentation (doxygen)
8 years ago
Robin Mills
11993b3b55
#1271 Thanks to Ben for reporting this and providing the patch.
8 years ago
Robin Mills
85eb0da9d1
#1279 Bump EXIV2_MINOR_VERSION in include/exiv2/version.hpp
8 years ago
Robin Mills
6d5c2c3256
Getting ready to release v0.26
8 years ago
Robin Mills
54cfc47346
class RWLock should not be in the Exiv2::Internal namespace
8 years ago
Robin Mills
2ebacb6b0b
#1272 Use in-memory temporary files.
8 years ago
Robin Mills
9f06ff2971
#1272 Submitting modified version of Ben's patch.
8 years ago
Robin Mills
5392ada8f4
#1273 Thanks to A Wilcox for reporting this and providing the patch.
9 years ago
Robin Mills
81265684f0
#1108 Fixed bugs in printStructure(kpsRecursive) handling of RATIONAL data.
9 years ago
Robin Mills
0c57b55035
#1230 Fix msvc build breaker when building using configure.bat -W (with WebReady)
9 years ago
Robin Mills
03ca00fc1e
#1244 . Correction to r4637. Added bigBlock_(NULL) to BasicIo::BasicIo().
9 years ago
Robin Mills
a057af1616
#1244 . Removing experimental APIs introduced by r4637. I submitted those APIs just to retain the code somewhere. I have no plan to release such as API.
9 years ago
Robin Mills
f5956d5db2
#1230 Fixes to read tiff with web-ready. Includes the BasicIo expiremental API readUnmarked() and markRead() which I will remove later.
9 years ago
Robin Mills
774f96094c
#1243 Work-in-progress on iccProfile related code.
9 years ago
Robin Mills
163f3ce7f1
#1243 Work-in-progress on writing ICC profiles. Fixed elusive issue in exiv2 -pS foo.jp2
9 years ago