1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-10-09 06:46:50 +08:00

Merge pull request #5505 from overbool/fix/issue-#5217

fix(unixfs): issue #5217 (Avoid use of `pb.Data`)
This commit is contained in:
Steven Allen
2018-09-24 07:36:43 +00:00
committed by GitHub
3 changed files with 12 additions and 12 deletions

View File

@ -223,25 +223,25 @@ func statNode(nd ipld.Node) (*statOutput, error) {
switch n := nd.(type) { switch n := nd.(type) {
case *dag.ProtoNode: case *dag.ProtoNode:
d, err := ft.FromBytes(n.Data()) d, err := ft.FSNodeFromBytes(n.Data())
if err != nil { if err != nil {
return nil, err return nil, err
} }
var ndtype string var ndtype string
switch d.GetType() { switch d.Type() {
case ft.TDirectory, ft.THAMTShard: case ft.TDirectory, ft.THAMTShard:
ndtype = "directory" ndtype = "directory"
case ft.TFile, ft.TMetadata, ft.TRaw: case ft.TFile, ft.TMetadata, ft.TRaw:
ndtype = "file" ndtype = "file"
default: default:
return nil, fmt.Errorf("unrecognized node type: %s", d.GetType()) return nil, fmt.Errorf("unrecognized node type: %s", d.Type())
} }
return &statOutput{ return &statOutput{
Hash: c.String(), Hash: c.String(),
Blocks: len(nd.Links()), Blocks: len(nd.Links()),
Size: d.GetFilesize(), Size: d.FileSize(),
CumulativeSize: cumulsize, CumulativeSize: cumulsize,
Type: ndtype, Type: ndtype,
}, nil }, nil

View File

@ -150,12 +150,12 @@ The JSON output contains type information.
} }
if pn, ok := linkNode.(*merkledag.ProtoNode); ok { if pn, ok := linkNode.(*merkledag.ProtoNode); ok {
d, err := unixfs.FromBytes(pn.Data()) d, err := unixfs.FSNodeFromBytes(pn.Data())
if err != nil { if err != nil {
res.SetError(err, cmdkit.ErrNormal) res.SetError(err, cmdkit.ErrNormal)
return return
} }
t = d.GetType() t = d.Type()
} }
} }
output[i].Links[j] = LsLink{ output[i].Links[j] = LsLink{

View File

@ -120,18 +120,18 @@ possible, please use 'ipfs ls' instead.
return return
} }
unixFSNode, err := unixfs.FromBytes(ndpb.Data()) unixFSNode, err := unixfs.FSNodeFromBytes(ndpb.Data())
if err != nil { if err != nil {
res.SetError(err, cmdkit.ErrNormal) res.SetError(err, cmdkit.ErrNormal)
return return
} }
t := unixFSNode.GetType() t := unixFSNode.Type()
output.Objects[hash] = &LsObject{ output.Objects[hash] = &LsObject{
Hash: c.String(), Hash: c.String(),
Type: t.String(), Type: t.String(),
Size: unixFSNode.GetFilesize(), Size: unixFSNode.FileSize(),
} }
switch t { switch t {
@ -156,19 +156,19 @@ possible, please use 'ipfs ls' instead.
return return
} }
d, err := unixfs.FromBytes(lnpb.Data()) d, err := unixfs.FSNodeFromBytes(lnpb.Data())
if err != nil { if err != nil {
res.SetError(err, cmdkit.ErrNormal) res.SetError(err, cmdkit.ErrNormal)
return return
} }
t := d.GetType() t := d.Type()
lsLink := LsLink{ lsLink := LsLink{
Name: link.Name, Name: link.Name,
Hash: link.Cid.String(), Hash: link.Cid.String(),
Type: t.String(), Type: t.String(),
} }
if t == unixfspb.Data_File { if t == unixfspb.Data_File {
lsLink.Size = d.GetFilesize() lsLink.Size = d.FileSize()
} else { } else {
lsLink.Size = link.Size lsLink.Size = link.Size
} }