aboutsummaryrefslogtreecommitdiff
path: root/base64.go
diff options
context:
space:
mode:
Diffstat (limited to 'base64.go')
-rw-r--r--base64.go23
1 files changed, 15 insertions, 8 deletions
diff --git a/base64.go b/base64.go
index 56a7324..c2ba2eb 100644
--- a/base64.go
+++ b/base64.go
@@ -6,16 +6,23 @@ import (
"encoding/binary"
)
-func DecodeBase64(v interface{}, b []byte) error {
- buf := bytes.NewBuffer(b)
+func DecodeB64(v interface{}, b []byte) error {
+ buf := bytes.NewReader(b)
dec := base64.NewDecoder(base64.StdEncoding, buf)
- return binary.Read(dec, binary.BigEndian, v)
+ if err := binary.Read(dec, binary.BigEndian, v); err != nil {
+ return err
+ }
+ return nil
}
-func EncodeBase64(v interface{}) ([]byte, error) {
- buf := &bytes.Buffer{}
+func EncodeB64(v interface{}) ([]byte, error) {
+ buf := new(bytes.Buffer)
enc := base64.NewEncoder(base64.StdEncoding, buf)
- err := binary.Write(enc, binary.BigEndian, v)
- enc.Close()
- return buf.Bytes(), err
+ if err := binary.Write(enc, binary.BigEndian, v); err != nil {
+ return nil, err
+ }
+ if err := enc.Close(); err != nil {
+ return nil, err
+ }
+ return buf.Bytes(), nil
}