diff options
| author | Shulhan <ms@kilabit.info> | 2022-09-06 00:06:33 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2022-09-06 00:06:33 +0700 |
| commit | 48d8d04b2da02f50348cb66ff45866556616e099 (patch) | |
| tree | 87b67c78c11971af0251ef2d96cee9a0c78f7ef7 | |
| parent | 5a554b81ba788cead97da262e1cf8500f58a7a38 (diff) | |
| download | ciigo-48d8d04b2da02f50348cb66ff45866556616e099.tar.xz | |
all: check for symlink and re-fetch file info using os.Stat
Since Readdir return list of FileInfo using Lstat, any node that is
symlink may return false file size and mod time.
| -rw-r--r-- | ciigo.go | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -288,6 +288,13 @@ func listFileMarkups(dir string, excRE []*regexp.Regexp) ( continue } + if fi.Mode()&os.ModeSymlink == os.ModeSymlink { + fi, err = os.Stat(filePath) + if err != nil { + return nil, fmt.Errorf(`%s: %w`, logp, err) + } + } + if fi.IsDir() { if name[0] == '.' { // Skip any directory start with '.'. |
