{"id":424,"url":"https://patchwork.libcamera.org/api/patches/424/?format=json","web_url":"https://patchwork.libcamera.org/patch/424/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20190128004109.25860-4-niklas.soderlund@ragnatech.se>","date":"2019-01-28T00:41:06","name":"[libcamera-devel,3/6] cam: options: return if addOption() succeeds or not","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"346880bce77b949778b9e831246bd79d5857f408","submitter":{"id":5,"url":"https://patchwork.libcamera.org/api/people/5/?format=json","name":"Niklas Söderlund","email":"niklas.soderlund@ragnatech.se"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/424/mbox/","series":[{"id":149,"url":"https://patchwork.libcamera.org/api/series/149/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=149","date":"2019-01-28T00:41:03","name":"cam: add --format option to configure a stream","version":1,"mbox":"https://patchwork.libcamera.org/series/149/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/424/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/424/checks/","tags":{},"headers":{"Return-Path":"<niklas.soderlund@ragnatech.se>","Received":["from bin-mail-out-05.binero.net (bin-mail-out-05.binero.net\n\t[195.74.38.228])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id EC67560DB9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 28 Jan 2019 01:41:32 +0100 (CET)","from bismarck.berto.se (unknown [89.233.230.99])\n\tby bin-vsp-out-03.atm.binero.net (Halon) with ESMTPA\n\tid 67a9eeb8-2295-11e9-911a-0050569116f7;\n\tMon, 28 Jan 2019 01:41:09 +0100 (CET)"],"X-Halon-ID":"67a9eeb8-2295-11e9-911a-0050569116f7","Authorized-sender":"niklas@soderlund.pp.se","From":"=?utf-8?q?Niklas_S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>","To":"libcamera-devel@lists.libcamera.org","Date":"Mon, 28 Jan 2019 01:41:06 +0100","Message-Id":"<20190128004109.25860-4-niklas.soderlund@ragnatech.se>","X-Mailer":"git-send-email 2.20.1","In-Reply-To":"<20190128004109.25860-1-niklas.soderlund@ragnatech.se>","References":"<20190128004109.25860-1-niklas.soderlund@ragnatech.se>","MIME-Version":"1.0","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH 3/6] cam: options: return if addOption()\n\tsucceeds or not","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.23","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Mon, 28 Jan 2019 00:41:33 -0000"},"content":"To later extend the options handling to cover subparsing of arguments it\nwill be needed to know if the addition of the option itself was\nsuccessful or not. The information is already present in addOption()\nthis change just makes it available.\n\nSigned-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n---\n src/cam/options.cpp | 11 ++++++-----\n src/cam/options.h   |  2 +-\n 2 files changed, 7 insertions(+), 6 deletions(-)","diff":"diff --git a/src/cam/options.cpp b/src/cam/options.cpp\nindex b24964a8ce413a85..c9ca017b4cf3fa3d 100644\n--- a/src/cam/options.cpp\n+++ b/src/cam/options.cpp\n@@ -12,7 +12,7 @@\n \n #include \"options.h\"\n \n-void OptionsParser::addOption(int opt, const char *help, const char *name,\n+bool OptionsParser::addOption(int opt, const char *help, const char *name,\n \t\t\t      OptionArgument argument, const char *argumentName)\n {\n \t/*\n@@ -20,18 +20,19 @@ void OptionsParser::addOption(int opt, const char *help, const char *name,\n \t * If an argument is accepted, it must be described by argumentName.\n \t */\n \tif (!isalnum(opt) && !name)\n-\t\treturn;\n+\t\treturn false;\n \tif (!help || help[0] == '\\0')\n-\t\treturn;\n+\t\treturn false;\n \tif (argument != ArgumentNone && !argumentName)\n-\t\treturn;\n+\t\treturn false;\n \n \t/* Reject duplicate options. */\n \tif (optionsMap_.find(opt) != optionsMap_.end())\n-\t\treturn;\n+\t\treturn false;\n \n \toptions_.push_back(Option({ opt, name, argument, argumentName, help }));\n \toptionsMap_[opt] = &options_.back();\n+\treturn true;\n }\n \n OptionsParser::Options OptionsParser::parse(int argc, char **argv)\ndiff --git a/src/cam/options.h b/src/cam/options.h\nindex a08bfea1ba74c96b..dfb7fcc9f6fa3324 100644\n--- a/src/cam/options.h\n+++ b/src/cam/options.h\n@@ -38,7 +38,7 @@ public:\n \t{\n \t};\n \n-\tvoid addOption(int opt, const char *help, const char *name = nullptr,\n+\tbool addOption(int opt, const char *help, const char *name = nullptr,\n \t\t       OptionArgument argument = ArgumentNone,\n \t\t       const char *argumentName = nullptr);\n \n","prefixes":["libcamera-devel","3/6"]}