From 4fd40f9f0a43d938e210cf7ea02d53cf5bd841b3 Mon Sep 17 00:00:00 2001 From: Jesse Li Date: Thu, 2 Jan 2020 10:27:00 -0500 Subject: [PATCH] Return plain struct from toTorrentFile --- torrentfile/torrentfile.go | 12 ++++++------ torrentfile/torrentfile_test.go | 10 +++++----- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/torrentfile/torrentfile.go b/torrentfile/torrentfile.go index d0d540c..5e7957a 100644 --- a/torrentfile/torrentfile.go +++ b/torrentfile/torrentfile.go @@ -65,11 +65,11 @@ func (t *TorrentFile) Download() ([]byte, error) { } // Open parses a torrent file -func Open(r io.Reader) (*TorrentFile, error) { +func Open(r io.Reader) (TorrentFile, error) { bto := bencodeTorrent{} err := bencode.Unmarshal(r, &bto) if err != nil { - return nil, err + return TorrentFile{}, err } return bto.toTorrentFile() } @@ -100,14 +100,14 @@ func (i *bencodeInfo) splitPieceHashes() ([][20]byte, error) { return hashes, nil } -func (bto *bencodeTorrent) toTorrentFile() (*TorrentFile, error) { +func (bto *bencodeTorrent) toTorrentFile() (TorrentFile, error) { infoHash, err := bto.Info.hash() if err != nil { - return nil, err + return TorrentFile{}, err } pieceHashes, err := bto.Info.splitPieceHashes() if err != nil { - return nil, err + return TorrentFile{}, err } t := TorrentFile{ Announce: bto.Announce, @@ -117,5 +117,5 @@ func (bto *bencodeTorrent) toTorrentFile() (*TorrentFile, error) { Length: bto.Info.Length, Name: bto.Info.Name, } - return &t, nil + return t, nil } diff --git a/torrentfile/torrentfile_test.go b/torrentfile/torrentfile_test.go index 5034b94..efae664 100644 --- a/torrentfile/torrentfile_test.go +++ b/torrentfile/torrentfile_test.go @@ -27,10 +27,10 @@ func TestOpen(t *testing.T) { ioutil.WriteFile(goldenPath, serialized, 0644) } - expected := &TorrentFile{} + expected := TorrentFile{} golden, err := ioutil.ReadFile(goldenPath) require.Nil(t, err) - err = json.Unmarshal(golden, expected) + err = json.Unmarshal(golden, &expected) require.Nil(t, err) assert.Equal(t, expected, torrent) @@ -39,7 +39,7 @@ func TestOpen(t *testing.T) { func TestToTorrentFile(t *testing.T) { tests := map[string]struct { input *bencodeTorrent - output *TorrentFile + output TorrentFile fails bool }{ "correct conversion": { @@ -52,7 +52,7 @@ func TestToTorrentFile(t *testing.T) { Name: "debian-10.2.0-amd64-netinst.iso", }, }, - output: &TorrentFile{ + output: TorrentFile{ Announce: "http://bttracker.debian.org:6969/announce", InfoHash: [20]byte{216, 247, 57, 206, 195, 40, 149, 108, 204, 91, 191, 31, 134, 217, 253, 207, 219, 168, 206, 182}, PieceHashes: [][20]byte{ @@ -75,7 +75,7 @@ func TestToTorrentFile(t *testing.T) { Name: "debian-10.2.0-amd64-netinst.iso", }, }, - output: nil, + output: TorrentFile{}, fails: true, }, }