github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/builtins/core/io/f_windows.go (about) 1 //go:build windows 2 // +build windows 3 4 package io 5 6 import ( 7 "os" 8 ) 9 10 func matchFlags(add, remove fFlagsT, info os.FileInfo) bool { 11 mode := info.Mode() 12 13 return ((add.File() && mode.IsRegular()) || 14 (add.Dir() && mode.IsDir()) || 15 (add.Symlink() && mode&os.ModeSymlink != 0) || 16 (add.DevBlock() && mode&os.ModeDevice != 0) || 17 (add.DevChar() && mode&os.ModeCharDevice != 0) || 18 (add.Socket() && mode&os.ModeSocket != 0) || 19 (add.NamedPipe() && mode&os.ModeNamedPipe != 0) || 20 21 (add.SetUid() && mode&os.ModeSetuid != 0) || 22 (add.SetGid() && mode&os.ModeSetgid != 0) || 23 (add.Sticky() && mode&os.ModeSticky != 0) || 24 25 (add.Irregular() && mode&os.ModeIrregular != 0)) && 26 27 !((remove.File() && mode.IsRegular()) || 28 (remove.Dir() && mode.IsDir()) || 29 (remove.Symlink() && mode&os.ModeSymlink != 0) || 30 (remove.DevBlock() && mode&os.ModeDevice != 0) || 31 (remove.DevChar() && mode&os.ModeCharDevice != 0) || 32 (remove.Socket() && mode&os.ModeSocket != 0) || 33 (remove.NamedPipe() && mode&os.ModeNamedPipe != 0) || 34 35 (remove.SetUid() && mode&os.ModeSetuid != 0) || 36 (remove.SetGid() && mode&os.ModeSetgid != 0) || 37 (remove.Sticky() && mode&os.ModeSticky != 0) || 38 39 (remove.Irregular() && mode&os.ModeIrregular != 0)) 40 }