From e33d77339134c47976331ce54c2cbe0018f7e2b3 Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Tue, 19 May 2020 15:22:58 +1000 Subject: [PATCH] Don't error on setting info when we already have it --- torrent.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/torrent.go b/torrent.go index 195027a3..52c6124d 100644 --- a/torrent.go +++ b/torrent.go @@ -377,9 +377,6 @@ func (t *Torrent) cacheLength() { } func (t *Torrent) setInfo(info *metainfo.Info) error { - if t.info != nil { - return errors.New("info already set") - } if err := validateInfo(info); err != nil { return fmt.Errorf("bad info: %s", err) } @@ -431,11 +428,14 @@ func (t *Torrent) setInfoBytes(b []byte) error { if err := bencode.Unmarshal(b, &info); err != nil { return fmt.Errorf("error unmarshalling info bytes: %s", err) } + t.metadataBytes = b + t.metadataCompletedChunks = nil + if t.info != nil { + return nil + } if err := t.setInfo(&info); err != nil { return err } - t.metadataBytes = b - t.metadataCompletedChunks = nil t.onSetInfo() return nil } -- 2.48.1