From: Tobias Ulmer Date: Mon, 6 Feb 2017 15:51:26 +0000 (+0100) Subject: e2option: make default for option flags functional X-Git-Tag: e2factory-2.3.17~26 X-Git-Url: https://git.e2factory.org/?a=commitdiff_plain;h=119d79075071f70ea490c8e7e5e664c139071e9d;p=e2factory.git e2option: make default for option flags functional Signed-off-by: Tobias Ulmer --- diff --git a/generic/e2option.lua b/generic/e2option.lua index 4375470..4f5cdcf 100644 --- a/generic/e2option.lua +++ b/generic/e2option.lua @@ -71,8 +71,8 @@ function e2option.option(name, doc, default, func, argname) options[name] = { type = "option", documentation = doc or "", name = name, - proc=func, - default=default or true, + proc = func, + default = default, argumentname=argname or "ARGUMENT" } end @@ -340,14 +340,24 @@ function e2option.parse(args) if options[opt] then local proc = options[opt].proc if options[opt].type == "option" then + local optarg + if i == #args then - return false, - err.new("argument missing for option: %s", opt) + if options[opt].default == nil then + return false, + err.new("argument missing for option: %s", + opt) + else + optarg = options[opt].default + end + else + optarg = args[i + 1] end + if proc then - opts[opt] = proc(args[i + 1]) + opts[opt] = proc(optarg) else - opts[opt] = args[i + 1] + opts[opt] = optarg end i = i + 1 else