Correct implicit username for MSYS2 eg. xs @server.com

Signed-off-by: Russ Magee <rmagee@gmail.com>
This commit is contained in:
Russ Magee 2020-06-04 00:53:20 -07:00
parent f0a2bb0295
commit 3522976ef7
1 changed files with 19 additions and 6 deletions

View File

@ -769,7 +769,7 @@ func main() {
var uname string
if remoteUser == "" {
u, _ := user.Current() // nolint: gosec
uname = u.Username
uname = localUserName(u)
} else {
uname = remoteUser
}
@ -1037,6 +1037,19 @@ func main() {
exitWithStatus(int(rec.Status()))
}
// currentUser returns the current username minus any OS-specific prefixes
// such as MS Windows workgroup prefixes (eg. workgroup\user).
func localUserName(u *user.User) string {
if u == nil {
log.Fatal("null User?!")
}
// WinAPI: username may have CIFS prefix %USERDOMAIN%\
userspec := strings.Split(u.Username, `\`)
username := userspec[len(userspec)-1]
return username
}
func restoreTermState(oldState *xs.State) {
_ = xs.Restore(os.Stdin.Fd(), oldState) // nolint: errcheck,gosec
}