[rtems-source-builder commit] sb: Include optional args in the valid option processing.

Chris Johns chrisj at rtems.org
Thu Sep 27 22:18:54 UTC 2018


Module:    rtems-source-builder
Branch:    master
Commit:    d2d46786f113ed39d29deafa3feeb4d42ae94001
Changeset: http://git.rtems.org/rtems-source-builder/commit/?id=d2d46786f113ed39d29deafa3feeb4d42ae94001

Author:    Chris Johns <chrisj at rtems.org>
Date:      Fri Sep 28 08:16:49 2018 +1000

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
 




More information about the vc mailing list