From d2d46786f113ed39d29deafa3feeb4d42ae94001 Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Fri, 28 Sep 2018 08:16:49 +1000 Subject: [PATCH] sb: Include optional args in the valid option processing. Optional arguments were not being included in the valid list of options being checked so `--mail` resulted in being unknown. --- source-builder/sb/options.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/source-builder/sb/options.py b/source-builder/sb/options.py index 24c2b4e..5767c48 100644 --- a/source-builder/sb/options.py +++ b/source-builder/sb/options.py @@ -237,12 +237,13 @@ class command_line: raise error.exit() def process(self): + for a in self.args: + if a == '-?' or a == '--help': + self.help() arg = 0 while arg < len(self.args): a = self.args[arg] - if a == '-?': - self.help() - elif a.startswith('--'): + if a.startswith('--'): los = a.split('=') lo = los[0] if lo in self._long_opts: @@ -266,8 +267,11 @@ class command_line: value = '1' self.defaults[los[0][2:].replace('-', '_').lower()] = ('none', 'none', value) else: - raise error.general('unknown option: %s' % (lo)) + if lo not in self.optargs: + raise error.general('unknown option: %s' % (lo)) else: + if a.startswith('-'): + raise error.general('not short options; only "-?"') self.opts['params'].append(a) arg += 1