rm panic
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
Jeromy committed
Sep 2, 2015 at 10:57 UTC
56f01e4981852546b534a05a513d1a0732ece7fc
2 files changed
+8
-6
core/commands/add.go
+5
-3
@@ -360,11 +360,13 @@ func (params *adder) addFile(file files.File) (*dag.Node, error) {
360
}
361
362
if s, ok := file.(*files.Symlink); ok {
363
- dagnode := &dag.Node{
364
- Data: ft.SymlinkData(s.Target),
363
+ sdata, err := ft.SymlinkData(s.Target)
364
+ if err != nil {
365
+ return nil, err
366
}
367
367
- _, err := params.node.DAG.Add(dagnode)
368
+ dagnode := &dag.Node{Data: sdata}
369
+ _, err = params.node.DAG.Add(dagnode)
370
if err != nil {
371
return nil, err
372
}
unixfs/format.go
+3
-3
@@ -77,7 +77,7 @@ func WrapData(b []byte) []byte {
77
return out
78
}
79
80
-func SymlinkData(path string) []byte {
80
+func SymlinkData(path string) ([]byte, error) {
81
pbdata := new(pb.Data)
82
typ := pb.Data_Symlink
83
pbdata.Data = []byte(path)
@@ -85,10 +85,10 @@ func SymlinkData(path string) []byte {
85
86
out, err := proto.Marshal(pbdata)
87
if err != nil {
88
- panic(err)
88
+ return nil, err
89
}
90
91
- return out
91
+ return out, nil
92
}
93
94
func UnwrapData(data []byte) ([]byte, error) {