[libcamera-devel] [PATCH 01/10] cam: options: Rename optional arg to prevent aliasing

Laurent Pinchart laurent.pinchart at ideasonboard.com
Tue Oct 13 20:41:55 CEST 2020


Hi Kieran,

Thank you for the patch.

On Tue, Oct 13, 2020 at 04:12:32PM +0100, Kieran Bingham wrote:
> The parseValue function is given the optarg directly from the getopt
> library, but the function retains the same name.
> 
> This causes an alias of the global optarg variable to be present in the
> parseValue function. While this is not harmful, rename it to work
> towards disabling aliases variables.
> 
> Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> ---
>  src/cam/options.cpp | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/src/cam/options.cpp b/src/cam/options.cpp
> index 358507eabf89..417c3ab49bc9 100644
> --- a/src/cam/options.cpp
> +++ b/src/cam/options.cpp
> @@ -77,7 +77,7 @@ void OptionsBase<T>::invalidate()
>  
>  template<typename T>
>  bool OptionsBase<T>::parseValue(const T &opt, const Option &option,
> -				const char *optarg)
> +				const char *arg)
>  {
>  	OptionValue value;
>  
> @@ -88,9 +88,9 @@ bool OptionsBase<T>::parseValue(const T &opt, const Option &option,
>  	case OptionInteger:
>  		unsigned int integer;
>  
> -		if (optarg) {
> +		if (arg) {
>  			char *endptr;
> -			integer = strtoul(optarg, &endptr, 0);
> +			integer = strtoul(arg, &endptr, 0);
>  			if (*endptr != '\0')
>  				return false;
>  		} else {
> @@ -101,12 +101,12 @@ bool OptionsBase<T>::parseValue(const T &opt, const Option &option,
>  		break;
>  
>  	case OptionString:
> -		value = OptionValue(optarg ? optarg : "");
> +		value = OptionValue(arg ? arg : "");
>  		break;
>  
>  	case OptionKeyValue:
>  		KeyValueParser *kvParser = option.keyValueParser;
> -		KeyValueParser::Options keyValues = kvParser->parse(optarg);
> +		KeyValueParser::Options keyValues = kvParser->parse(arg);
>  		if (!keyValues.valid())
>  			return false;
>  

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list