in arch/mk_syscalls_linux.go [334:363]
func readSyscalls(path string, dir string, parse func(line string) (*Syscall, error)) ([]*Syscall, error) {
url := baseURL + linuxVersion + path
src, err := downloadFile(url, dir)
if err != nil {
return nil, err
}
f, err := os.Open(src)
if err != nil {
return nil, err
}
defer f.Close()
var syscalls []*Syscall
s := bufio.NewScanner(bufio.NewReader(f))
for s.Scan() {
line := strings.TrimSpace(s.Text())
syscall, err := parse(line)
if err != nil {
return nil, err
}
if syscall != nil {
syscalls = append(syscalls, syscall)
}
}
return syscalls, s.Err()
}