Fixes for single/multi-file torrent Infos

This commit is contained in:
Matt Joiner 2015-02-26 22:12:02 +11:00
parent 5a3a110e99
commit a5d60fd76f
1 changed files with 7 additions and 1 deletions

View File

@ -46,6 +46,10 @@ type Info struct {
Files []FileInfo `bencode:"files,omitempty"`
}
func (i *Info) IsDir() bool {
return len(i.Files) != 0
}
// The files field, converted up from the old single-file in the parent info
// dict if necessary. This is a helper to avoid having to conditionally handle
// single and multi-file torrent infos.
@ -53,7 +57,9 @@ func (i *Info) UpvertedFiles() []FileInfo {
if len(i.Files) == 0 {
return []FileInfo{{
Length: i.Length,
Path: []string{i.Name},
// Callers should determine that Info.Name is the basename, and
// thus a regular file.
Path: nil,
}}
}
return i.Files