summaryrefslogtreecommitdiffstats
path: root/python/xrelfo.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/xrelfo.py')
-rw-r--r--python/xrelfo.py18
1 files changed, 14 insertions, 4 deletions
diff --git a/python/xrelfo.py b/python/xrelfo.py
index 07cd7407..5f7616f2 100644
--- a/python/xrelfo.py
+++ b/python/xrelfo.py
@@ -447,7 +447,9 @@ def main():
argp = argparse.ArgumentParser(description="FRR xref ELF extractor")
argp.add_argument("-o", dest="output", type=str, help="write JSON output")
argp.add_argument("--out-by-file", type=str, help="write by-file JSON output")
- argp.add_argument("-c", dest="vtysh_cmds", type=str, help="write vtysh_cmd.c")
+ argp.add_argument(
+ "-c", dest="vtysh_cmds", type=str, help="write vtysh_cmd.c", nargs="*"
+ )
argp.add_argument("-Wlog-format", action="store_const", const=True)
argp.add_argument("-Wlog-args", action="store_const", const=True)
argp.add_argument("-Werror", action="store_const", const=True)
@@ -528,9 +530,17 @@ def _main(args):
os.rename(args.out_by_file + ".tmp", args.out_by_file)
if args.vtysh_cmds:
- with open(args.vtysh_cmds + ".tmp", "w") as fd:
- CommandEntry.run(out, fd)
- os.rename(args.vtysh_cmds + ".tmp", args.vtysh_cmds)
+ fds = []
+ for filename in args.vtysh_cmds:
+ fds.append(open(filename + ".tmp", "w"))
+
+ CommandEntry.run(out, fds)
+
+ while fds:
+ fds.pop(0).close()
+ for filename in args.vtysh_cmds:
+ os.rename(filename + ".tmp", filename)
+
if args.Werror and CommandEntry.warn_counter:
sys.exit(1)