fix potential crash in searching albums
This commit is contained in:
@@ -185,20 +185,25 @@ func (s *searchIter) Next() *subsonic.AlbumID3 {
|
|||||||
// add results from artists search
|
// add results from artists search
|
||||||
for _, artist := range results.Artist {
|
for _, artist := range results.Artist {
|
||||||
artist, err := s.s.GetArtist(artist.ID)
|
artist, err := s.s.GetArtist(artist.ID)
|
||||||
if err != nil {
|
if err != nil || artist == nil {
|
||||||
log.Printf("error fetching artist: %s", err.Error())
|
log.Printf("error fetching artist: %s", err.Error())
|
||||||
|
} else {
|
||||||
|
s.addNewAlbums(artist.Album)
|
||||||
}
|
}
|
||||||
s.addNewAlbums(artist.Album)
|
|
||||||
}
|
}
|
||||||
s.artistOffset += len(results.Artist)
|
s.artistOffset += len(results.Artist)
|
||||||
|
|
||||||
// add results from songs search
|
// add results from songs search
|
||||||
for _, song := range results.Song {
|
for _, song := range results.Song {
|
||||||
album, err := s.s.GetAlbum(song.Parent)
|
if song.AlbumID == "" {
|
||||||
if err != nil {
|
continue
|
||||||
log.Printf("error fetching album: %s", err.Error())
|
}
|
||||||
|
album, err := s.s.GetAlbum(song.AlbumID)
|
||||||
|
if err != nil || album == nil {
|
||||||
|
log.Printf("error fetching album: %s", err.Error())
|
||||||
|
} else {
|
||||||
|
s.addNewAlbums([]*subsonic.AlbumID3{album})
|
||||||
}
|
}
|
||||||
s.addNewAlbums([]*subsonic.AlbumID3{album})
|
|
||||||
}
|
}
|
||||||
s.songOffset += len(results.Song)
|
s.songOffset += len(results.Song)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user