[libcamera-devel] [PATCH 3/6] cam: options: return if addOption() succeeds or not
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Thu Jan 31 11:07:45 CET 2019
Hi Niklas,
Thank you for the patch.
On Mon, Jan 28, 2019 at 01:41:06AM +0100, Niklas Söderlund wrote:
> To later extend the options handling to cover subparsing of arguments it
> will be needed to know if the addition of the option itself was
> successful or not. The information is already present in addOption()
> this change just makes it available.
>
> Signed-off-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
> src/cam/options.cpp | 11 ++++++-----
> src/cam/options.h | 2 +-
> 2 files changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/src/cam/options.cpp b/src/cam/options.cpp
> index b24964a8ce413a85..c9ca017b4cf3fa3d 100644
> --- a/src/cam/options.cpp
> +++ b/src/cam/options.cpp
> @@ -12,7 +12,7 @@
>
> #include "options.h"
>
> -void OptionsParser::addOption(int opt, const char *help, const char *name,
> +bool OptionsParser::addOption(int opt, const char *help, const char *name,
> OptionArgument argument, const char *argumentName)
> {
> /*
> @@ -20,18 +20,19 @@ void OptionsParser::addOption(int opt, const char *help, const char *name,
> * If an argument is accepted, it must be described by argumentName.
> */
> if (!isalnum(opt) && !name)
> - return;
> + return false;
> if (!help || help[0] == '\0')
> - return;
> + return false;
> if (argument != ArgumentNone && !argumentName)
> - return;
> + return false;
>
> /* Reject duplicate options. */
> if (optionsMap_.find(opt) != optionsMap_.end())
> - return;
> + return false;
>
> options_.push_back(Option({ opt, name, argument, argumentName, help }));
> optionsMap_[opt] = &options_.back();
> + return true;
> }
>
> OptionsParser::Options OptionsParser::parse(int argc, char **argv)
> diff --git a/src/cam/options.h b/src/cam/options.h
> index a08bfea1ba74c96b..dfb7fcc9f6fa3324 100644
> --- a/src/cam/options.h
> +++ b/src/cam/options.h
> @@ -38,7 +38,7 @@ public:
> {
> };
>
> - void addOption(int opt, const char *help, const char *name = nullptr,
> + bool addOption(int opt, const char *help, const char *name = nullptr,
> OptionArgument argument = ArgumentNone,
> const char *argumentName = nullptr);
>
> --
> 2.20.1
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list