fix null dereference when getting old title
This commit is contained in:
+7
-1
@@ -94,6 +94,9 @@ func (d *FullData) InsertFeed(new *Feed, remote string) {
|
|||||||
oldFeed, ok := d.Feeds[remote]
|
oldFeed, ok := d.Feeds[remote]
|
||||||
if !ok || !reflect.DeepEqual(new, oldFeed) {
|
if !ok || !reflect.DeepEqual(new, oldFeed) {
|
||||||
// Feeds are different, or there was never an old one
|
// Feeds are different, or there was never an old one
|
||||||
|
if oldFeed != nil && new.Title == "" && oldFeed.Title != "" {
|
||||||
|
new.Title = oldFeed.Title
|
||||||
|
}
|
||||||
d.Feeds[remote] = new
|
d.Feeds[remote] = new
|
||||||
d.FeedsMu.Unlock()
|
d.FeedsMu.Unlock()
|
||||||
} else {
|
} else {
|
||||||
@@ -104,9 +107,12 @@ func (d *FullData) InsertFeed(new *Feed, remote string) {
|
|||||||
// InsertPage will insert or update a core.Page in a core.FullData
|
// InsertPage will insert or update a core.Page in a core.FullData
|
||||||
func (d *FullData) InsertPage(new *Page, remote string) {
|
func (d *FullData) InsertPage(new *Page, remote string) {
|
||||||
d.PagesMu.Lock()
|
d.PagesMu.Lock()
|
||||||
_, ok := d.Pages[remote]
|
oldPage, ok := d.Pages[remote]
|
||||||
if !ok || d.Pages[remote].Hash != new.Hash {
|
if !ok || d.Pages[remote].Hash != new.Hash {
|
||||||
// pages are different, or there was never an old one
|
// pages are different, or there was never an old one
|
||||||
|
if oldPage != nil && new.Title == "" && oldPage.Title != "" {
|
||||||
|
new.Title = oldPage.Title
|
||||||
|
}
|
||||||
d.Pages[remote] = new
|
d.Pages[remote] = new
|
||||||
d.PagesMu.Unlock()
|
d.PagesMu.Unlock()
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user