From a5a5e7928bfe3fdca8f74fd28966265efecace0c Mon Sep 17 00:00:00 2001 From: Shulhan Date: Mon, 30 Aug 2021 03:42:58 +0700 Subject: lib/memfs: fix empty ContentType if MaxFileSize is negative A negative MaxFileSize means the content of file will not be mapped to memory, but the content type should be detected for other operation. --- lib/memfs/memfs.go | 5 ----- lib/memfs/node.go | 8 ++++++-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/lib/memfs/memfs.go b/lib/memfs/memfs.go index 850dc386..0e248099 100644 --- a/lib/memfs/memfs.go +++ b/lib/memfs/memfs.go @@ -213,11 +213,6 @@ func (mfs *MemFS) AddFile(internalPath, externalPath string) (*Node, error) { } node.generateFuncName(path) - if mfs.Opts.MaxFileSize <= 0 { - node.size = 0 - return node, nil - } - err = node.updateContent(mfs.Opts.MaxFileSize) if err != nil { return nil, err diff --git a/lib/memfs/node.go b/lib/memfs/node.go index 808d7b0b..dfef959e 100644 --- a/lib/memfs/node.go +++ b/lib/memfs/node.go @@ -89,7 +89,7 @@ func NewNode(parent *Node, fi os.FileInfo, maxFileSize int64) (node *Node, err e } node.generateFuncName(sysPath) - if node.mode.IsDir() || maxFileSize <= 0 { + if node.mode.IsDir() { node.size = 0 return node, nil } @@ -514,7 +514,7 @@ func (leaf *Node) update(newInfo os.FileInfo, maxFileSize int64) (err error) { leaf.modTime = newInfo.ModTime() leaf.size = newInfo.Size() - if newInfo.IsDir() || maxFileSize <= 0 { + if newInfo.IsDir() { return nil } @@ -525,6 +525,10 @@ func (leaf *Node) update(newInfo os.FileInfo, maxFileSize int64) (err error) { // updateContent read the content of file. // func (leaf *Node) updateContent(maxFileSize int64) (err error) { + if maxFileSize < 0 { + // Negative maxFileSize means content will not be read. + return nil + } if leaf.size > maxFileSize { return nil } -- cgit v1.3