Kevin Backhouse
67a46f742d
Type of escapeStart should be size_t.
2021-07-18 15:02:40 +01:00
Kevin Backhouse
69d82ffe01
Defensive coding changes to avoid integer overflow in loop conditions.
2021-07-18 15:02:35 +01:00
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
2021-06-01 12:39:10 +02:00
Rosen Penev
2c57f214c5
clang-tidy: use nullptr
...
Found with modernize-use-nullptr
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-26 08:31:45 +02:00
Rosen Penev
743da1a564
clang-tidy: use C++ casting
...
Found with google-readability-casting
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-20 07:29:02 +02:00
Rosen Penev
ff39473c18
clang-tidy: convert to static
...
Found with readability-convert-member-functions-to-static
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-19 14:45:20 +02:00
Rosen Penev
b8712188bb
clang-tidy: use auto
...
Found with modernize-use-auto
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-17 21:52:03 +02:00
Rosen Penev
1b9b77c51f
clang-tidy: add ending namespace comments
...
Found with google-readability-namespace-comments
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-14 17:34:09 +02:00
Rosen Penev
9642e3cceb
clang-tidy: remove pointless string init
...
Found with readability-redundant-string-init
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-12 07:12:15 +02:00
Rosen Penev
143a1fbbe2
clang-tidy: don't use string compare
...
Found with readability-string-compare
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-12 07:12:15 +02:00
Rosen Penev
8337462032
clang-tidy: use empty() instead of comparing size
...
Found with readability-container-size-empty
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-11 22:02:47 +02:00
Rosen Penev
5a9c29303e
clang-tidy: remove pointless static
...
Found with readability-static-definition-in-anonymous-namespace
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-09 17:44:37 +02:00
Rosen Penev
bd6a996181
clang-tidy: use using
...
Found with modernize-use-using
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-09 17:42:51 +02:00
Luis Díaz Más
1b4577904b
Fix MSVC build
2021-05-03 17:41:55 +02:00
Rosen Penev
4ceb325c8f
clang-tidy: range for loop conversions
...
Found with modernize-loop-convert
Ran through git clang-format.
Also removed several questionable loops and replaced with simpler
algorithms.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-05-03 14:50:04 +02:00
Luis Díaz Más
de4d43d4d1
Fix warnings EXIV2_TEAM_EXTRA_WARNINGS
...
Most of the warnings fixed were:
- Hiding of local variables
- Hiding of globals
- Useless casts
- Conversions between float/double
2021-04-18 18:49:58 +02:00
Luis Díaz Más
5fcea2b4e2
Use stack variables instead of java style
2021-04-15 06:56:37 +02:00
Luis Díaz Más
0bbaa6eff3
cpp: Replace auto_ptr by unique_ptr
2021-04-15 06:56:11 +02:00
Robin Mills
9da2aed5d2
Use the documented 5 line prolog in every sample application. Tidy up sample prologs and header code.
2021-04-02 16:58:20 +01:00
Robin Mills
d632988bbd
Massive code prolog cleanup.
2021-03-17 13:34:21 +00:00
clanmills
b983a9db75
Re-awaken obsolete command-line argument --binary and store class Task.
2021-03-05 17:05:24 +00:00
Peter Kovář
f0a321dedb
[WIP] Base Media File Format
2021-02-16 10:10:00 +01:00
Peter Kovář
92469f4c27
[WIP] Add ISO/IEC Base Media File Format
2021-01-24 15:09:57 +01:00
Jan Tojnar
48f2c9dbba
cmake: Fix paths with absolute GNUInstallDirs
...
It is not generally true that `CMAKE_INSTALL_<dir>` variables are relative paths:
https://github.com/jtojnar/cmake-snips#concatenating-paths-when-building-pkg-config-files
https://github.com/jtojnar/cmake-snips#assuming-cmake_install_dir-is-relative-path
Let's join them properly as paths, not strings.
On Windows, the absolute paths will likely remain unsupported as neither the CMake function,
nor the C++ code is able to detect absolute paths.
Signed-off-by: Jan Tojnar <jtojnar@gmail.com>
2020-09-05 11:18:46 +02:00
clanmills
904fa19d1c
Code changes
2020-04-19 08:04:45 +01:00
clanmills
82087b58e4
fix_1099_0.27
2020-03-27 15:57:10 +00:00
Robin Mills
7844b11e4b
[xmpsdk] Add XMP Initialisation/Cleanup code to all main() programs
...
- update documentation
- Removed redundant calls to Exiv2::XmpParser::terminate() (legacy of our
discusssion with @tester0077).
- this fixes #976
2019-10-05 10:19:53 +02:00
Luis Díaz Más
34e411d2fc
Fix 547: option -pR only available in Debug mode.
...
Note that the method Params::evalPrint() has been clang-formatted.
2018-11-22 18:19:08 +01:00
Robin Mills
8a6cd5d24e
Fix -vVg loops
2018-11-16 13:10:43 +01:00
Luis Díaz Más
d1c2e2f64f
bindtextdomain point to relative path to bin directory
2018-11-11 12:27:26 +01:00
Robin Mills
5f6ef65695
Update PROJECT_VERSION & add install() commands for CPack
...
- Version updated to 0.27.0.1.
- Release notes for MacOS-X Package, Linux, CYGWIN, win64 and msvc
- Redmine Release Notes Updated.
2018-10-26 17:47:15 +02:00
Luis Díaz Más
c43d998457
Fix cppcheck issues: passedByValue
2018-10-11 13:40:03 +02:00
Luis Díaz Más
e5bcabd026
Do not print hexadecimal version value when running exiv2 --version
2018-09-14 07:43:21 +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
0bfa0168df
Cleanup some of the PACKAGE_XXX variables and rely in the ones given by the project() command
2018-09-12 19:22:31 +02:00
Dan Čermák
1e23238fa4
Fix memory leak in Params::getopt()
2018-09-01 20:19:45 +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
Luis Diaz Mas
6e244f31d3
Cleanup fallthrough warning + clang-format parseCommonTargets function
2018-08-24 16:45:52 +02:00
Dan Čermák
f4e8ed2fd4
Catch all exceptions not caught in exiv2 cli-tool
...
It effectively looks the same as before, only now we don't call abort() but
instead clean up everything gracefully.
2018-06-11 22:55:49 +02:00
Dan Čermák
4b24e011dc
Free potentially allocated regexes from Params::evalGrep
...
In Params::evalGrep regcomp allocates some internal space for the regex objects,
which must be freed manually via regfree(). This was however only done when the
call to regcomp() failed and not on success. As the regexes are needed later,
they have to be deallocated by the destructor.
2018-05-17 17:17:37 +02:00
Dan Čermák
efe2ccdcb6
Replaced all hardcoded error codes with ker... constants
2018-02-18 09:28:57 +01:00
tbeu
5b5987a596
Remove obsolete EXIV2_RCSID
2017-11-19 11:17:12 +01:00
tbeu
5df8b01b77
Remove obsolete svn revision
2017-11-19 11:17:11 +01: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
clanmills
2828b11cf7
Build changes to support EXV_HAVE_REGEX and EXV_HAVE_REGEX_H
2017-09-11 16:09:24 +01:00
clanmills
935421c855
Refactoring autotools to support ADOBE_XMPSDK (Work in Progress)
2017-08-15 20:00:09 +01: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
1d327fba21
Correct usage of HAVE_REGEX
2017-08-08 21:58:45 +02:00
Robin Mills
6d5c2c3256
Getting ready to release v0.26
2017-03-08 20:42:28 +00:00
Robin Mills
5664393767
#1246 Fix submitted.
2016-10-19 14:57:18 +00:00