qapi: Fix generators to report command line errors decently
authorMarkus Armbruster <armbru@redhat.com>
Thu, 2 Apr 2015 11:17:34 +0000 (13:17 +0200)
committerMarkus Armbruster <armbru@redhat.com>
Thu, 14 May 2015 16:39:34 +0000 (18:39 +0200)
Report to stderr, prefix with the program name.  Also reject
extra arguments.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
scripts/qapi.py

index b97dd0b14a901134794c5e6cf344552951852581..df6e5aa381148e417b093b519a98671c4164f1e6 100644 (file)
@@ -989,7 +989,7 @@ def parse_command_line(extra_options = "", extra_long_options = []):
                                         "input-file=", "output-dir="]
                                        + extra_long_options)
     except getopt.GetoptError, err:
-        print str(err)
+        print >>sys.stderr, "%s: %s" % (sys.argv[0], str(err))
         sys.exit(1)
 
     output_dir = ""
@@ -1017,4 +1017,8 @@ def parse_command_line(extra_options = "", extra_long_options = []):
         do_c = True
         do_h = True
 
+    if len(args) != 0:
+        print >>sys.stderr, "%s: too many arguments" % sys.argv[0]
+        sys.exit(1)
+
     return (input_file, output_dir, do_c, do_h, prefix, extra_opts)