in pkg/ycd/ycd.go [43:66]
func Parse(reader io.Reader) (*YCDFile, error) {
br := bufio.NewReader(reader)
y := new(YCDFile)
// First parse the header
if h, err := parseHeader(br); err == nil {
y.Header = h
} else {
return nil, err
}
// There is a nil character before the first digit.
y.FirstDigitOffset = y.Header.Length
for {
b, err := br.ReadByte()
if err != nil {
return nil, err
}
y.FirstDigitOffset++
if b == 0 {
break
}
}
return y, nil
}