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
Luis Diaz Mas
08cbb0c206
Use header guards instead of pragma once
2018-08-27 13:24:47 +02:00
Luis Diaz Mas
5d76036af5
Add more tests for decoding and encoding URL functions
2018-08-27 13:24:47 +02:00
Luis Diaz Mas
eefee8125b
to_hex and from_hex removed from API
2018-08-27 13:24:47 +02:00
Luis Diaz Mas
22d9ab82a7
Format futils.h for better readability (also pass clang-format to it)
2018-08-27 13:24:47 +02:00
Luis Diaz Mas
c82d875707
Use pragma once instead of guards
2018-08-27 13:24:47 +02:00
Luis Diaz Mas
a3c200a23e
Remove useless header inclusions
2018-08-27 13:24:47 +02:00
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
2018-07-29 00:20:43 +02:00
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.
2018-07-28 23:50:33 +02:00
Luis Diaz Mas
69ee165291
msvc: Remove manually generated configuration files for MSVC builds
2018-06-08 14:04:25 +02:00
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
2018-06-02 09:43:20 +02:00
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
2018-05-07 10:25:26 +02:00
Luis Díaz Más
f86542e5f6
Remove EXV_HAVE_STRTOL
2018-05-04 11:20:43 +02:00
Luis Díaz Más
d55b2b1b65
Remove HAVE_STDLIB_H check and replace stdlib.h by cstdlib
2018-05-04 11:20:43 +02:00
Luis Díaz Más
aded1965c5
Remove EXV_HAVE_MEMSET
2018-05-04 11:20:43 +02:00
Luis Díaz Más
abd28a6a9e
Remove EXV_HAVE_STRCHR
2018-05-04 11:20:43 +02:00
Dan Čermák
b1a31352b6
Add default constructor for XmpData
2018-04-25 00:13:51 +02:00
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.
2018-04-25 00:13:26 +02:00
Luis Díaz Más
bf7047a71b
clang-format XmpKey code
2018-04-07 20:04:22 +02:00
Luis Díaz Más
336b759cc0
Remove 'using namespace' from public header
2018-04-06 09:23:58 +02:00
Dan Čermák
22a7a8c2ed
Fix outdated documentation of PngImage::doWriteMetadata()
...
The function does not return anything, it only throws exceptions.
2018-02-22 11:57:51 +01:00
Dan Čermák
efe2ccdcb6
Replaced all hardcoded error codes with ker... constants
2018-02-18 09:28:57 +01:00
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
2018-02-18 09:28:40 +01:00
Dan Čermák
b80fa1b4ed
Added error codes from src/error.cpp into an enumeration
2018-02-18 09:26:32 +01:00
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
2017-12-06 17:29:05 +01:00
Luis Díaz Más
8dc3c1f0a0
Replace malloc/free by new/delete. Use const char* for input arg
2017-12-06 17:29:05 +01:00
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.
2017-12-06 17:29:05 +01:00
tbeu
5df8b01b77
Remove obsolete svn revision
2017-11-19 11:17:11 +01:00
Luis Díaz Más
4beb08e219
Merge pull request #105 from Kicer86/bigtiff
...
Work in progress - improvements for bigtiff
2017-10-07 09:38:49 +02:00
Michał Walenciak
2e535d8a27
trying to fix windows build
2017-10-07 08:58:58 +02:00
Luis Díaz Más
5b8894908b
Remove all references to EXV_HAVE_REGEX and related code
2017-10-04 19:27:01 +02:00
Luis Díaz Más
8ad49f6d73
Robin changes in sync with master changes
2017-09-28 19:42:57 +02:00
clanmills
6e3855aed7
Fix https://github.com/Exiv2/exiv2/issues/55
2017-09-27 09:20:13 +01:00
clanmills
e3298ab5e1
Integrating #55 and #78
2017-09-26 22:32:27 +01:00
Dan Čermák
d4e7510f7c
Added missing include for INT_MIN & INT_MAX constants
2017-09-26 22:57:59 +02:00
clanmills
8a8f60a4e7
Fix https://github.com/Exiv2/exiv2/issues/55 Thank You, Raphaël Hertzog.
2017-09-26 21:37:53 +01:00
Michał Walenciak
b6e79357de
Adding 8-byte swap functions + consts
2017-09-21 18:15:12 +02:00
Michał Walenciak
c008ad2403
making tag related functions private
2017-09-21 18:15:12 +02:00
Michał Walenciak
ca1929d88a
adding 64bit types
2017-09-21 18:15:12 +02:00
Michał Walenciak
ab27bfab3c
introducing getULongLong()
2017-09-21 18:15:12 +02:00
Michał Walenciak
bc6eed0b03
registering new file type
2017-09-21 18:15:12 +02:00
clanmills
d366943297
Refactoring EXV_USE_CURL and EXV_USE_SSH
2017-09-13 16:54:10 +01:00
Robin Mills
d356aaae95
cmakeBuild.cmd --webready working with VS 2005
2017-09-13 11:54:02 +01:00
clanmills
2828b11cf7
Build changes to support EXV_HAVE_REGEX and EXV_HAVE_REGEX_H
2017-09-11 16:09:24 +01:00
Robin Mills
31fc5d2e30
Merge pull request #62 from Kicer86/crash_fix
...
Fix for crash in multithread environment
2017-09-02 08:31:04 +01:00
Michał Walenciak
20582a93c6
Marking members in a proper way.
2017-09-02 08:02:00 +02:00
Michał Walenciak
4e25435afb
Changing return type of Image::tagName to std::string
2017-09-02 08:00:07 +02:00
Michał Walenciak
0d9552aede
adding comment
2017-09-01 18:35:21 +02:00
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.
2017-09-01 18:29:51 +02:00
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.
2017-08-31 13:11:15 +01:00
Robin Mills
afba52e042
Remove include tags_int.hpp from include/exiv2/*video.hpp files
2017-08-18 13:52:05 +01:00
Luis Diaz Mas
6be5278dd2
Fix inclusion of file
2017-08-18 13:55:45 +02:00
Luis Díaz Más
1c03767391
Move inclusion of private header from .hpp to .cpp (not needed in the .hpp)
2017-08-18 13:55:45 +02:00
clanmills
935421c855
Refactoring autotools to support ADOBE_XMPSDK (Work in Progress)
2017-08-15 20:00:09 +01:00
clanmills
62d24d3c77
Correction to previous commit.
2017-08-12 14:53:10 +01:00
clanmills
2e816165ea
Changes to autotools to support C++11 (work in progress)
2017-08-12 14:48:38 +01:00
clanmills
df53123cfb
Restoring exv_msvc.h for use by msvc/exiv2/libexiv2.vcproj
2017-08-11 15:45:50 +01:00
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
2017-08-09 23:05:06 +02:00
Luis Diaz Mas
22efdffd1d
Use #ifdef instead of #if for EXV_HAVE_REGEX
2017-08-08 22:15:17 +02:00
Luis Diaz Mas
8c323cad04
Remove EXV_HAVE_STDINT_H definition that was causing warnings
2017-08-08 21:58:45 +02:00
Luis Diaz Mas
db5ce5ed82
Remove few unused variables declared in CMakeChecks.txt
2017-08-08 21:58:45 +02:00
Luis Diaz Mas
367d3b8a1e
Remove unused HAVE_WCHAR_H variable
2017-08-08 21:58:45 +02:00
Luis Diaz Mas
2887a0dbad
Remove unused HAVE_VPRINTF variable
2017-08-08 21:58:45 +02:00
Luis Diaz Mas
d85a7c6751
Remove unused HAVE_SYS_TIME_H and TM_IN_SYS_TIME variables
2017-08-08 21:58:45 +02:00
Luis Diaz Mas
1a34a55383
Handle HAVE_STRINGS_H variable in the new cmake file
2017-08-08 21:58:45 +02:00
Luis Diaz Mas
bfb849859a
Remove unused variable HAVE__BOOL
2017-08-08 21:58:45 +02:00
Luis Diaz Mas
72e12cdbf2
Remove unused variable HAVE_REALLOC
2017-08-08 21:58:45 +02:00
Luis Diaz Mas
d8ada323e3
Remove unused MALLOC variables
2017-08-08 21:58:45 +02:00
Luis Diaz Mas
09fc98eebf
Handle all the PACKAGE_XXX variables in the new cmake file
2017-08-08 21:58:45 +02:00
Luis Diaz Mas
485891b991
Remove unused definition HAVE_ALARM
2017-07-07 17:26:15 +02:00
clanmills
a9c9e8ff8e
Remove svn_version.h
2017-06-06 15:33:50 +01:00
Robin Mills
bf473ae718
#1292 Dimitri: Thank You for reporting this and providing the patch.
2017-04-26 14:09:58 +00:00
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
2017-04-23 19:29:19 +00:00
Robin Mills
f36cccefa2
#1291 include header simplification
2017-04-23 17:31:57 +00:00
Robin Mills
fb24a572c6
#1291 Thank you to T Modes for reporting this and providing this patch.
2017-04-23 16:28:01 +00:00
Robin Mills
73572aa54d
#1291 Fix submitted. Thank You to T Modes for reporting this issue.
2017-04-23 11:57:05 +00:00
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.
2017-04-19 17:03:54 +00:00
Robin Mills
73047ce568
#1279 Correction to r4748 which broke the CMake build.
2017-03-27 09:04:12 +00:00
Robin Mills
54408bac2f
#1279 Move src/ini_int.hpp to include/exiv2/ini.hpp to reveal class Exiv2:INIReader in API
2017-03-26 20:49:54 +00:00
Robin Mills
192a2a83cf
#1279 Cleaned up doxygen warnings for doc and website.
2017-03-16 18:13:12 +00:00
Robin Mills
199820576d
#1279 Work in Progress: API Documentation (doxygen)
2017-03-16 09:09:31 +00:00
Robin Mills
11993b3b55
#1271 Thanks to Ben for reporting this and providing the patch.
2017-03-15 21:30:55 +00:00
Robin Mills
85eb0da9d1
#1279 Bump EXIV2_MINOR_VERSION in include/exiv2/version.hpp
2017-03-14 12:11:45 +00:00
Robin Mills
6d5c2c3256
Getting ready to release v0.26
2017-03-08 20:42:28 +00:00