diff options
Diffstat (limited to 'src/pkg/encoding/base32')
| -rw-r--r-- | src/pkg/encoding/base32/base32.go | 12 | ||||
| -rw-r--r-- | src/pkg/encoding/base32/base32_test.go | 8 | 
2 files changed, 9 insertions, 11 deletions
| diff --git a/src/pkg/encoding/base32/base32.go b/src/pkg/encoding/base32/base32.go index fe17b7322..d770de391 100644 --- a/src/pkg/encoding/base32/base32.go +++ b/src/pkg/encoding/base32/base32.go @@ -179,13 +179,11 @@ func (e *encoder) Write(p []byte) (n int, err error) {  		nn := len(e.out) / 8 * 5  		if nn > len(p) {  			nn = len(p) +			nn -= nn % 5  		} -		nn -= nn % 5 -		if nn > 0 { -			e.enc.Encode(e.out[0:], p[0:nn]) -			if _, e.err = e.w.Write(e.out[0 : nn/5*8]); e.err != nil { -				return n, e.err -			} +		e.enc.Encode(e.out[0:], p[0:nn]) +		if _, e.err = e.w.Write(e.out[0 : nn/5*8]); e.err != nil { +			return n, e.err  		}  		n += nn  		p = p[nn:] @@ -268,7 +266,7 @@ func (enc *Encoding) decode(dst, src []byte) (n int, end bool, err error) {  				// 7, 5 and 2 are not valid padding lengths, and so 1, 3 and 6 are not  				// valid dlen values. See RFC 4648 Section 6 "Base 32 Encoding" listing  				// the five valid padding lengths, and Section 9 "Illustrations and -				// Examples" for an illustration for how the the 1st, 3rd and 6th base32 +				// Examples" for an illustration for how the 1st, 3rd and 6th base32  				// src bytes do not yield enough information to decode a dst byte.  				if dlen == 1 || dlen == 3 || dlen == 6 {  					return n, false, CorruptInputError(olen - len(src) - 1) diff --git a/src/pkg/encoding/base32/base32_test.go b/src/pkg/encoding/base32/base32_test.go index 63298d1c9..f56b996fa 100644 --- a/src/pkg/encoding/base32/base32_test.go +++ b/src/pkg/encoding/base32/base32_test.go @@ -108,7 +108,7 @@ func TestDecode(t *testing.T) {  func TestDecoder(t *testing.T) {  	for _, p := range pairs { -		decoder := NewDecoder(StdEncoding, bytes.NewBufferString(p.encoded)) +		decoder := NewDecoder(StdEncoding, strings.NewReader(p.encoded))  		dbuf := make([]byte, StdEncoding.DecodedLen(len(p.encoded)))  		count, err := decoder.Read(dbuf)  		if err != nil && err != io.EOF { @@ -125,7 +125,7 @@ func TestDecoder(t *testing.T) {  func TestDecoderBuffering(t *testing.T) {  	for bs := 1; bs <= 12; bs++ { -		decoder := NewDecoder(StdEncoding, bytes.NewBufferString(bigtest.encoded)) +		decoder := NewDecoder(StdEncoding, strings.NewReader(bigtest.encoded))  		buf := make([]byte, len(bigtest.decoded)+12)  		var total int  		for total = 0; total < len(bigtest.decoded); { @@ -267,13 +267,13 @@ LNEBUWIIDFON2CA3DBMJXXE5LNFY==  ====`  	encodedShort := strings.Replace(encoded, "\n", "", -1) -	dec := NewDecoder(StdEncoding, bytes.NewBufferString(encoded)) +	dec := NewDecoder(StdEncoding, strings.NewReader(encoded))  	res1, err := ioutil.ReadAll(dec)  	if err != nil {  		t.Errorf("ReadAll failed: %v", err)  	} -	dec = NewDecoder(StdEncoding, bytes.NewBufferString(encodedShort)) +	dec = NewDecoder(StdEncoding, strings.NewReader(encodedShort))  	var res2 []byte  	res2, err = ioutil.ReadAll(dec)  	if err != nil { | 
