From: Matt Joiner Date: Tue, 19 May 2020 05:22:58 +0000 (+1000) Subject: Don't error on setting info when we already have it X-Git-Tag: v1.16.0~22 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=e33d77339134c47976331ce54c2cbe0018f7e2b3;p=btrtrc.git Don't error on setting info when we already have it --- 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 }