aboutsummaryrefslogtreecommitdiff
path: root/bencode/bdecode.go
diff options
context:
space:
mode:
Diffstat (limited to 'bencode/bdecode.go')
-rw-r--r--bencode/bdecode.go28
1 files changed, 14 insertions, 14 deletions
diff --git a/bencode/bdecode.go b/bencode/bdecode.go
index 9bd57b9..67f37b1 100644
--- a/bencode/bdecode.go
+++ b/bencode/bdecode.go
@@ -9,10 +9,10 @@ import (
)
const (
- Dict = 'd'
- List = 'l'
- Int = 'i'
- end = 'e'
+ tokenDict = 'd'
+ tokenList = 'l'
+ tokenInt = 'i'
+ tokenEnd = 'e'
)
type Unmarshaler interface {
@@ -38,13 +38,13 @@ func Unmarshal(data []byte, v interface{}) (int, error) {
func (d *decodeState) unmarshalField(v reflect.Value) error {
switch d.data[d.off] {
- case Dict:
+ case tokenDict:
return d.unmarshalDict(v)
- case Int:
+ case tokenInt:
return d.unmarshalInt(v)
- case List:
+ case tokenList:
return d.unmarshalList(v)
- case end:
+ case tokenEnd:
return ErrValue
default:
return d.unmarshalString(v)
@@ -53,14 +53,14 @@ func (d *decodeState) unmarshalField(v reflect.Value) error {
}
func (d *decodeState) unmarshalDict(v reflect.Value) error {
- if d.data[d.off] != Dict {
+ if d.data[d.off] != tokenDict {
return ErrValue
}
rawStart := d.off
d.off++
- for d.data[d.off] != end {
+ for d.data[d.off] != tokenEnd {
key, n := parseString(d.data[d.off:])
d.off += n
val := findKey(key, v)
@@ -88,12 +88,12 @@ func (d *decodeState) unmarshalDict(v reflect.Value) error {
}
func (d *decodeState) unmarshalList(v reflect.Value) error {
- if d.data[d.off] != List {
+ if d.data[d.off] != tokenList {
return ErrValue
}
d.off++
- for i := 0; d.data[d.off] != end; i++ {
+ for i := 0; d.data[d.off] != tokenEnd; i++ {
if v.CanSet() {
if i >= v.Cap() {
newcap := v.Cap() + v.Cap()/2
@@ -173,10 +173,10 @@ func parseString(data []byte) (string, int) {
}
func parseInt(data []byte) (int64, int) {
- if data[0] != Int {
+ if data[0] != tokenInt {
panic("not an int")
}
- end := bytes.IndexByte(data, end)
+ end := bytes.IndexByte(data, tokenEnd)
i, err := strconv.Atoi(string(data[1:end]))
if err != nil {
panic(err)