]>
git.proxmox.com Git - mirror_frr.git/blob - tools/stringmangle.py
1 # 2020 by David Lamparter, placed in the public domain.
9 (re
.compile(r
'(?<!\\n)"\s*\n\s*"', re
.M
), r
""),
12 (re
.compile(r
'(PRI[udx][0-9]+)\s*\n\s*"', re
.M
), r
'\1"'),
13 (re
.compile(r
'"\s*PRI([udx])32\s*"'), r
"\1"),
14 (re
.compile(r
'"\s*PRI([udx])32'), r
'\1"'),
15 (re
.compile(r
'"\s*PRI([udx])16\s*"'), r
"h\1"),
16 (re
.compile(r
'"\s*PRI([udx])16'), r
'h\1"'),
17 (re
.compile(r
'"\s*PRI([udx])8\s*"'), r
"hh\1"),
18 (re
.compile(r
'"\s*PRI([udx])8'), r
'hh\1"'),
23 argp
= argparse
.ArgumentParser(description
="C string mangler")
24 argp
.add_argument("--unwrap", action
="store_const", const
=True)
25 argp
.add_argument("--pri8-16-32", action
="store_const", const
=True)
26 argp
.add_argument("files", type=str, nargs
="+")
27 args
= argp
.parse_args()
31 regexes
.extend(wrap_res
)
33 regexes
.extend(pri_res
)
35 sys
.stderr
.write("no action selected to execute\n")
41 sys
.stderr
.write(fn
+ "\033[K\r")
42 with
open(fn
, "r") as ifd
:
47 for regex
, repl
in regexes
:
48 newdata
, m
= regex
.subn(repl
, newdata
)
52 sys
.stderr
.write("changed: %s\n" % fn
)
53 with
open(fn
+ ".new", "w") as ofd
:
55 os
.rename(fn
+ ".new", fn
)
58 sys
.stderr
.write("%d files changed.\n" % (l
))