From ba6a34f0e93b4ddc09b412048b82712e80e0f48d Mon Sep 17 00:00:00 2001 From: Celestino Amoroso Date: Fri, 24 Oct 2025 14:31:56 +0200 Subject: [PATCH] file-util.go: nuova funzione IsNamedPipe() --- file-util.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/file-util.go b/file-util.go index 069d8a6..96390f6 100644 --- a/file-util.go +++ b/file-util.go @@ -23,6 +23,13 @@ func FileSize(filePath string) (size int64) { return } +// Return true if filePath exists +func FileExists(filePath string) bool { + _, osErr := os.Stat(filePath) + return osErr == nil || osErr == os.ErrExist +} + +// Return true if filePath exists and it is a regular file func IsRegularFile(filePath string) bool { if filePath != "" { info, err := os.Stat(filePath) @@ -48,6 +55,22 @@ func IsSymLink(filePath string) bool { return false } +func IsSocket(filePath string) bool { + if filePath != "" { + info, err := os.Stat(filePath) + return (err == nil || errors.Is(err, os.ErrExist)) && (info.Mode()&os.ModeSocket != 0) + } + return false +} + +func IsNamedPipe(filePath string) bool { + if filePath != "" { + info, err := os.Stat(filePath) + return (err == nil || errors.Is(err, os.ErrExist)) && (info.Mode()&os.ModeNamedPipe != 0) + } + return false +} + func IsSymLinkByDirEntry(e os.DirEntry) bool { info, _ := e.Info() return info.Mode()&os.ModeSymlink != 0