From eef80b3d764f2f108d48da55ca71477c427ea7e3 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Mon, 28 Dec 2015 15:51:46 +0100 Subject: sys: split syscall description into several files --- sysgen/sysgen.go | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'sysgen') diff --git a/sysgen/sysgen.go b/sysgen/sysgen.go index b1aefb5f0..968f980a5 100644 --- a/sysgen/sysgen.go +++ b/sysgen/sysgen.go @@ -28,13 +28,22 @@ func main() { if len(flag.Args()) == 0 { failf("usage: sysgen -linux=linux_checkout input_file") } - inf, err := os.Open(flag.Args()[0]) - if err != nil { - failf("failed to open input file: %v", err) + + var r io.Reader + for i, f := range flag.Args() { + inf, err := os.Open(f) + if err != nil { + failf("failed to open input file: %v", err) + } + defer inf.Close() + if i == 0 { + r = bufio.NewReader(inf) + } else { + r = io.MultiReader(r, bufio.NewReader(inf)) + } } - defer inf.Close() - includes, defines, syscalls, structs, unnamed, flags := parse(bufio.NewReader(inf)) + includes, defines, syscalls, structs, unnamed, flags := parse(r) intFlags, flagVals := compileFlags(includes, defines, flags) out := new(bytes.Buffer) -- cgit mrf-deployment