summaryrefslogtreecommitdiff
path: root/vendor/github.com/miekg/dns/generate.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/miekg/dns/generate.go')
-rw-r--r--vendor/github.com/miekg/dns/generate.go33
1 files changed, 17 insertions, 16 deletions
diff --git a/vendor/github.com/miekg/dns/generate.go b/vendor/github.com/miekg/dns/generate.go
index ac8df34dd..713e9d2da 100644
--- a/vendor/github.com/miekg/dns/generate.go
+++ b/vendor/github.com/miekg/dns/generate.go
@@ -35,17 +35,17 @@ func (zp *ZoneParser) generate(l lex) (RR, bool) {
token = token[:i]
}
- sx := strings.SplitN(token, "-", 2)
- if len(sx) != 2 {
+ startStr, endStr, ok := strings.Cut(token, "-")
+ if !ok {
return zp.setParseError("bad start-stop in $GENERATE range", l)
}
- start, err := strconv.ParseInt(sx[0], 10, 64)
+ start, err := strconv.ParseInt(startStr, 10, 64)
if err != nil {
return zp.setParseError("bad start in $GENERATE range", l)
}
- end, err := strconv.ParseInt(sx[1], 10, 64)
+ end, err := strconv.ParseInt(endStr, 10, 64)
if err != nil {
return zp.setParseError("bad stop in $GENERATE range", l)
}
@@ -54,7 +54,7 @@ func (zp *ZoneParser) generate(l lex) (RR, bool) {
}
// _BLANK
- l, ok := zp.c.Next()
+ l, ok = zp.c.Next()
if !ok || l.value != zBlank {
return zp.setParseError("garbage after $GENERATE range", l)
}
@@ -211,15 +211,16 @@ func (r *generateReader) ReadByte() (byte, error) {
func modToPrintf(s string) (string, int64, string) {
// Modifier is { offset [ ,width [ ,base ] ] } - provide default
// values for optional width and type, if necessary.
- var offStr, widthStr, base string
- switch xs := strings.Split(s, ","); len(xs) {
- case 1:
- offStr, widthStr, base = xs[0], "0", "d"
- case 2:
- offStr, widthStr, base = xs[0], xs[1], "d"
- case 3:
- offStr, widthStr, base = xs[0], xs[1], xs[2]
- default:
+ offStr, s, ok0 := strings.Cut(s, ",")
+ widthStr, s, ok1 := strings.Cut(s, ",")
+ base, _, ok2 := strings.Cut(s, ",")
+ if !ok0 {
+ widthStr = "0"
+ }
+ if !ok1 {
+ base = "d"
+ }
+ if ok2 {
return "", 0, "bad modifier in $GENERATE"
}
@@ -234,8 +235,8 @@ func modToPrintf(s string) (string, int64, string) {
return "", 0, "bad offset in $GENERATE"
}
- width, err := strconv.ParseInt(widthStr, 10, 64)
- if err != nil || width < 0 || width > 255 {
+ width, err := strconv.ParseUint(widthStr, 10, 8)
+ if err != nil {
return "", 0, "bad width in $GENERATE"
}