panic handler + construct

This commit is contained in:
Juan Batiz-Benet
2014-07-03 23:52:58 -07:00
parent 47a6842e35
commit 3f5984c93d
2 changed files with 15 additions and 4 deletions
+9 -1
View File
@@ -31,7 +31,15 @@ func StringToBytes(s string) ([]byte, error) {
return b, nil
}
func BytesToString(b []byte) (string, error) {
func BytesToString(b []byte) (ret string, err error) {
// panic handler, in case we try accessing bytes incorrectly.
defer func() {
if e := recover(); e != nil {
ret = ""
err = e.(error)
}
}()
s := ""
for ; len(b) > 0 ; {
+6 -3
View File
@@ -4,7 +4,10 @@ type Multiaddr struct {
Bytes []byte
}
func NewString(s string) *Multiaddr {
m := &Multiaddr{}
return m
func NewString(s string) (*Multiaddr, error) {
b, err := StringToBytes(s)
if err != nil {
return nil, err
}
return &Multiaddr{Bytes: b}, nil
}