From 2c4a19ad6cb71065d31304370708c859b4f68f6d Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Wed, 29 May 2024 16:53:48 +0200 Subject: fix: nil pointer exception when (re-)indexing --- internal/fetcher/download.go | 5 +++-- searchix.go | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/internal/fetcher/download.go b/internal/fetcher/download.go index 59ef8d1..7de6f26 100644 --- a/internal/fetcher/download.go +++ b/internal/fetcher/download.go @@ -42,6 +42,7 @@ func (i *DownloadFetcher) FetchIfNeeded( sourceMeta *index.SourceMeta, ) (f FetchedFiles, err error) { var fetchURL string + sourceUpdated := sourceMeta.Updated for key, filename := range files { fetchURL, err = url.JoinPath(i.Source.URL, filename) if err != nil { @@ -57,14 +58,14 @@ func (i *DownloadFetcher) FetchIfNeeded( i.Logger.Debug("preparing to fetch URL", "url", fetchURL) - body, mtime, err := fetchFileIfNeeded(ctx, sourceMeta.Updated, fetchURL) + body, mtime, err := fetchFileIfNeeded(ctx, sourceUpdated, fetchURL) if err != nil { i.Logger.Warn("failed to fetch file", "url", fetchURL, "error", err) return f, err } // don't bother to issue requests for the later files - if mtime.Before(sourceMeta.Updated) { + if mtime.Before(sourceUpdated) { break } sourceMeta.Updated = mtime diff --git a/searchix.go b/searchix.go index c10eb6a..f91fe48 100644 --- a/searchix.go +++ b/searchix.go @@ -64,7 +64,7 @@ func (s *Server) SetupIndex(update bool, replace bool) error { "update", update, ) - err = importer.Start(s.cfg, write, replace, nil) + err = importer.Start(s.cfg, write, replace || update, nil) if err != nil { return errors.Wrap(err, "Failed to build index") } -- cgit 1.4.1