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

View file

@ -769,7 +769,7 @@ func main() {
var uname string var uname string
if remoteUser == "" { if remoteUser == "" {
u, _ := user.Current() // nolint: gosec u, _ := user.Current() // nolint: gosec
uname = u.Username uname = localUserName(u)
} else { } else {
uname = remoteUser uname = remoteUser
} }
@ -1037,6 +1037,19 @@ func main() {
exitWithStatus(int(rec.Status())) 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) { func restoreTermState(oldState *xs.State) {
_ = xs.Restore(os.Stdin.Fd(), oldState) // nolint: errcheck,gosec _ = xs.Restore(os.Stdin.Fd(), oldState) // nolint: errcheck,gosec
} }