aboutsummaryrefslogtreecommitdiffstats
path: root/ccl.go
diff options
context:
space:
mode:
Diffstat (limited to 'ccl.go')
-rw-r--r--ccl.go18
1 files changed, 9 insertions, 9 deletions
diff --git a/ccl.go b/ccl.go
index 360bde4..6753dbc 100644
--- a/ccl.go
+++ b/ccl.go
@@ -399,16 +399,16 @@ func (p *parser) unescape(rawStr []byte) ([]byte, error) {
if i < len(rawStr) && rawStr[i] == '\n' {
b = nil
} else {
- return nil, fmt.Errorf("invalid escape sequence %q", rawStr[i-2:min(i+1, len(rawStr))])
+ return nil, p.error("invalid escape sequence %q", rawStr[i-2:min(i+1, len(rawStr))])
}
case 'x':
i++
if i+2 > len(rawStr) {
- return nil, fmt.Errorf("invalid hex escape %q", rawStr[i-2:min(i+2, len(rawStr))])
+ return nil, p.error("invalid hex escape %q", rawStr[i-2:min(i+2, len(rawStr))])
}
n, err := strconv.ParseUint(string(rawStr[i:i+2]), 16, 8)
if err != nil {
- return nil, fmt.Errorf("invalid hex escape %q: %s", rawStr[i-2:i+2], err)
+ return nil, p.error("invalid hex escape %q: %s", rawStr[i-2:i+2], err)
}
i++
b = []byte{byte(n)}
@@ -419,21 +419,21 @@ func (p *parser) unescape(rawStr []byte) ([]byte, error) {
}
i++
if i+nBytes > len(rawStr) {
- return nil, fmt.Errorf("invalid unicode escape %q", rawStr[i-2:min(i+nBytes, len(rawStr))])
+ return nil, p.error("invalid unicode escape %q", rawStr[i-2:min(i+nBytes, len(rawStr))])
}
n, err := strconv.ParseUint(string(rawStr[i:i+nBytes]), 16, 31)
if err != nil {
- return nil, fmt.Errorf("invalid hex escape %q: %s", rawStr[i-2:i+nBytes], err)
+ return nil, p.error("invalid unicode escape %q: %s", rawStr[i-2:i+nBytes], err)
}
i += nBytes - 1
b = utf8.AppendRune(nil, rune(n))
default:
if i+3 > len(rawStr) {
- return nil, fmt.Errorf("invalid string escape %q", rawStr[i-1:i+1])
+ return nil, p.error("invalid string escape %q", rawStr[i-1:i+1])
}
n, err := strconv.ParseUint(string(rawStr[i:i+3]), 8, 8)
if err != nil {
- return nil, fmt.Errorf("invalid octal escape %q: %s", rawStr[i-1:i+3], err)
+ return nil, p.error("invalid octal escape %q: %s", rawStr[i-1:i+3], err)
}
i += 2
b = []byte{byte(n)}
@@ -522,7 +522,7 @@ func (p *parser) parseVal(fieldVal reflect.Value, tok, field []byte) error {
case fieldVal.Type() == reflect.TypeFor[[]byte]():
b, err := base64.StdEncoding.DecodeString(s)
if err != nil {
- return fmt.Errorf("field %q: bad base64", field)
+ return p.error("field %q: bad base64", field)
}
fieldVal.Set(reflect.ValueOf(b))
default:
@@ -606,7 +606,7 @@ func (p *parser) parseFieldVal(out reflect.Value, parsedFields map[string]bool,
}
fieldIdx, ok := p.fieldMap[structField{out.Type(), string(field)}]
if !ok {
- return fmt.Errorf("no field named %q", field)
+ return p.error("no field named %q", field)
}
fieldVal := out.Field(fieldIdx)
tok, err := p.next()