From ab464e7b3111364e3805602aeb403cd164b8c90f Mon Sep 17 00:00:00 2001 From: John Cupitt Date: Fri, 29 Oct 2021 19:04:42 +0100 Subject: [PATCH] add clang-tidy rule with a few rules --- cplusplus/Makefile.am | 7 +++++++ cplusplus/VImage.cpp | 19 ++++++++----------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/cplusplus/Makefile.am b/cplusplus/Makefile.am index 9d23c14f..196d4f34 100644 --- a/cplusplus/Makefile.am +++ b/cplusplus/Makefile.am @@ -45,6 +45,13 @@ uninstall-htmlDATA: rm -rf $(DESTDIR)$(htmldir)/html endif +# "make tidy" to run the clang-tidy linter +.PHONY: tidy +tidy: $(libvips_cpp_la_SOURCES) + clang-tidy $^ \ + -checks=clang-analyzer-*,portability-* \ + -- $(AM_CPPFLAGS) + EXTRA_DIST = \ README.md \ vips-operators.cpp \ diff --git a/cplusplus/VImage.cpp b/cplusplus/VImage.cpp index 679b77b8..d459adc9 100644 --- a/cplusplus/VImage.cpp +++ b/cplusplus/VImage.cpp @@ -60,12 +60,11 @@ VIPS_NAMESPACE_START std::vector to_vectorv( int n, ... ) { - std::vector vector; - vector.reserve( n ); + std::vector vector( n ); va_list ap; va_start( ap, n ); - for( std::vector::size_type i = 0; i < size_t(n); i++ ) + for( int i = 0; i < n; i++ ) vector[i] = va_arg( ap, double ); va_end( ap ); @@ -81,10 +80,9 @@ to_vector( double value ) std::vector to_vector( int n, double array[] ) { - std::vector vector; - vector.reserve( n ); + std::vector vector( n ); - for( std::vector::size_type i = 0; i < size_t(n); i++ ) + for( int i = 0; i < n; i++ ) vector[i] = array[i]; return( vector ); @@ -93,8 +91,7 @@ to_vector( int n, double array[] ) std::vector negate( std::vector vector ) { - std::vector new_vector; - new_vector.reserve( vector.size() ); + std::vector new_vector( vector.size() ); for( std::vector::size_type i = 0; i < vector.size(); i++ ) new_vector[i] = vector[i] * -1; @@ -105,8 +102,7 @@ negate( std::vector vector ) std::vector invert( std::vector vector ) { - std::vector new_vector; - new_vector.reserve( vector.size() ); + std::vector new_vector( vector.size() ); for( std::vector::size_type i = 0; i < vector.size(); i++ ) new_vector[i] = 1.0 / vector[i]; @@ -489,8 +485,9 @@ VOption::get_operation( VipsOperation *operation ) double *array = vips_value_get_array_double( value, &length ); + ((*i)->vvector)->resize( length ); - for( size_t j = 0; j < length; j++ ) + for( int j = 0; j < length; j++ ) (*((*i)->vvector))[j] = array[j]; } else if( type == VIPS_TYPE_BLOB ) {