github.com/gagliardetto/golang-go@v0.0.0-20201020153340-53909ea70814/cmd/go/not-internal/modload/stat_windows.go (about)

     1  // Copyright 2019 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  // +build windows
     6  
     7  package modload
     8  
     9  import (
    10  	"os"
    11  )
    12  
    13  // hasWritePerm reports whether the current user has permission to write to the
    14  // file with the given info.
    15  func hasWritePerm(_ string, fi os.FileInfo) bool {
    16  	// Windows has a read-only attribute independent of ACLs, so use that to
    17  	// determine whether the file is intended to be overwritten.
    18  	//
    19  	// Per https://golang.org/pkg/os/#Chmod:
    20  	// “On Windows, only the 0200 bit (owner writable) of mode is used; it
    21  	// controls whether the file's read-only attribute is set or cleared.”
    22  	return fi.Mode()&0200 != 0
    23  }