aboutsummaryrefslogtreecommitdiffstats
path: root/sysgen
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2015-12-28 15:51:46 +0100
committerDmitry Vyukov <dvyukov@google.com>2015-12-28 15:53:32 +0100
commiteef80b3d764f2f108d48da55ca71477c427ea7e3 (patch)
tree7e09a7fedbe7b820ff7c955c7666a520cc40498f /sysgen
parent3dc36baa69ba3240a7e484d6883ab64f0495f27a (diff)
sys: split syscall description into several files
Diffstat (limited to 'sysgen')
-rw-r--r--sysgen/sysgen.go19
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)