Fix a few crashes
This commit is contained in:
parent
1bb5ee9006
commit
7dd932bd5a
10
torrent.go
10
torrent.go
|
@ -124,7 +124,7 @@ func (t *torrent) HaveMetadataPiece(piece int) bool {
|
||||||
if t.haveInfo() {
|
if t.haveInfo() {
|
||||||
return (1<<14)*piece < len(t.MetaData)
|
return (1<<14)*piece < len(t.MetaData)
|
||||||
} else {
|
} else {
|
||||||
return t.metadataHave[piece]
|
return piece < len(t.metadataHave) && t.metadataHave[piece]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -252,7 +252,13 @@ func (t *torrent) NewMetadataExtensionMessage(c *connection, msgType int, piece
|
||||||
|
|
||||||
func (t *torrent) WriteStatus(w io.Writer) {
|
func (t *torrent) WriteStatus(w io.Writer) {
|
||||||
fmt.Fprintf(w, "Infohash: %x\n", t.InfoHash)
|
fmt.Fprintf(w, "Infohash: %x\n", t.InfoHash)
|
||||||
fmt.Fprintf(w, "Piece length: %d\n", t.UsualPieceSize())
|
fmt.Fprintf(w, "Piece length: %s\n", func() string {
|
||||||
|
if t.haveInfo() {
|
||||||
|
return fmt.Sprint(t.UsualPieceSize())
|
||||||
|
} else {
|
||||||
|
return "?"
|
||||||
|
}
|
||||||
|
}())
|
||||||
fmt.Fprint(w, "Pieces: ")
|
fmt.Fprint(w, "Pieces: ")
|
||||||
for index := range t.Pieces {
|
for index := range t.Pieces {
|
||||||
fmt.Fprintf(w, "%c", t.pieceStatusChar(index))
|
fmt.Fprintf(w, "%c", t.pieceStatusChar(index))
|
||||||
|
|
Loading…
Reference in New Issue