mirror of
https://github.com/golang/go
synced 2024-11-18 09:34:53 -07:00
os: fix findOneDriveDir to expand strings that contain environment variables
On Windows the registry data type REG_EXPAND_SZ indicates that the string requires expansion of environment variables. The existing implementation doesn't take that into consideration and just returns the unexpanded string, ignoring the registry type. This implementation ensures that environment variables are properly expanded when needed. Fixes #57576 Change-Id: Ia02c1b05a4cf6eaaffb3be88ce1c9ee100db250f Reviewed-on: https://go-review.googlesource.com/c/go/+/460535 Auto-Submit: Bryan Mills <bcmills@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Run-TryBot: Bryan Mills <bcmills@google.com> Reviewed-by: Alex Brainman <alex.brainman@gmail.com> Reviewed-by: Quim Muntal <quimmuntal@gmail.com> Reviewed-by: Bryan Mills <bcmills@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
This commit is contained in:
parent
1e12c63aac
commit
1eb37facdd
@ -872,10 +872,19 @@ func findOneDriveDir() (string, error) {
|
||||
}
|
||||
defer k.Close()
|
||||
|
||||
path, _, err := k.GetStringValue("UserFolder")
|
||||
path, valtype, err := k.GetStringValue("UserFolder")
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("reading UserFolder failed: %v", err)
|
||||
}
|
||||
|
||||
if valtype == registry.EXPAND_SZ {
|
||||
expanded, err := registry.ExpandString(path)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("expanding UserFolder failed: %v", err)
|
||||
}
|
||||
path = expanded
|
||||
}
|
||||
|
||||
return path, nil
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user