parser: require \n after parsing integer in kv (#527)

Fixes #526
This commit is contained in:
Thomas Pelletier
2021-04-24 09:57:21 -04:00
committed by GitHub
parent 931f02a519
commit 1e80267558
2 changed files with 14 additions and 5 deletions
+3 -5
View File
@@ -55,11 +55,11 @@ func (p *parser) NextExpression() bool {
return false
}
p.first = false
if p.ref.Valid() {
return true
}
p.first = false
}
}
@@ -71,8 +71,6 @@ func (p *parser) Error() error {
return p.err
}
var errUnexpectedByte = errors.New("expected newline but got something else")
func (p *parser) parseNewline(b []byte) ([]byte, error) {
if b[0] == '\n' {
return b[1:], nil
@@ -84,7 +82,7 @@ func (p *parser) parseNewline(b []byte) ([]byte, error) {
return rest, err
}
return nil, fmt.Errorf("parseNewline: %w - %#U", errUnexpectedByte, b[0])
return nil, newDecodeError(b[0:1], "expected newline but got %#U", b[0])
}
func (p *parser) parseExpression(b []byte) (ast.Reference, []byte, error) {