Commit Graph

208 Commits

Author SHA1 Message Date
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