From f338172829af1f3524b71b150580d742cf7c3926 Mon Sep 17 00:00:00 2001 From: Charles Iliya Krempeaux Date: Tue, 23 Jan 2024 06:10:57 -0800 Subject: [PATCH] initial commits --- fileinfo.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 fileinfo.go diff --git a/fileinfo.go b/fileinfo.go new file mode 100644 index 0000000..8c2c8f7 --- /dev/null +++ b/fileinfo.go @@ -0,0 +1,30 @@ +package raft + +import ( + "io/fs" + + "sourcecode.social/reiver/go-erorr" +) + +// fileInfo is similar to fs.File.Stat(), except that if fs.File.Stat() returns 'nil' for 'fs.FileInfo' then it returns an error. +func fileInfo(file fs.File) (fs.FileInfo, error) { + + if nil == file { + return nil, errNilFile + } + + var fileinfo fs.FileInfo + { + var err error + + fileinfo, err = file.Stat() + if nil != err { + return nil, erorr.Errorf("raft: problem getting file-info: %w", err) + } + if nil == fileinfo { + return nil, errNilFileInfo + } + } + + return fileinfo, nil +}