From fe38f8024a1a2edb07fec9906f5a4389cd1262b6 Mon Sep 17 00:00:00 2001 From: Matt Brittan Date: Wed, 3 Apr 2024 09:17:09 +1300 Subject: [PATCH] Resolve "cannot use os.ReadDir" introduced in PR #665 --- filestore.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/filestore.go b/filestore.go index 42d1eea..20f246a 100644 --- a/filestore.go +++ b/filestore.go @@ -19,6 +19,7 @@ package mqtt import ( + "io/fs" "os" "path" "sort" @@ -158,15 +159,20 @@ func (store *FileStore) Reset() { func (store *FileStore) all() []string { var err error var keys []string - var files fileInfos if !store.opened { ERROR.Println(STR, "trying to use file store, but not open") return nil } - files, err = os.ReadDir(store.directory) + entries, err := os.ReadDir(store.directory) chkerr(err) + files := make(fileInfos, 0, len(entries)) + for _, entry := range entries { + info, err := entry.Info() + chkerr(err) + files = append(files, info) + } sort.Sort(files) for _, f := range files { DEBUG.Println(STR, "file in All():", f.Name()) @@ -245,7 +251,7 @@ func exists(file string) bool { return true } -type fileInfos []os.FileInfo +type fileInfos []fs.FileInfo func (f fileInfos) Len() int { return len(f)