diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2015-12-28 15:51:46 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2015-12-28 15:53:32 +0100 |
| commit | eef80b3d764f2f108d48da55ca71477c427ea7e3 (patch) | |
| tree | 7e09a7fedbe7b820ff7c955c7666a520cc40498f /sysgen | |
| parent | 3dc36baa69ba3240a7e484d6883ab64f0495f27a (diff) | |
sys: split syscall description into several files
Diffstat (limited to 'sysgen')
| -rw-r--r-- | sysgen/sysgen.go | 19 |
1 files changed, 14 insertions, 5 deletions
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) |
