commit | 92322238cca14dcf9c5c1d9e61604cb7e5f43e56 | [log] [tgz] |
---|---|---|
author | Steven Selph <steven.selph@gmail.com> | Sat Aug 29 21:01:46 2015 -0400 |
committer | Steven Selph <steven.selph@gmail.com> | Sat Aug 29 21:01:46 2015 -0400 |
tree | 08d305fe47c7b46b6d0dd1ce400e6e49938ca5e1 | |
parent | 56f508a88415ab57e596a176f0789ede8f790903 [diff] |
Switch from atomic.Value to sync.RWMutex for backward compatibility
This is a Go library for detecting the user's home directory without the use of cgo, so the library can be used in cross-compilation environments.
Usage is incredibly simple, just call homedir.Dir()
to get the home directory for a user, and homedir.Expand()
to expand the ~
in a path to the home directory.
Why not just use os/user
? The built-in os/user
package requires cgo on Darwin systems. This means that any Go code that uses that package cannot cross compile. But 99% of the time the use for os/user
is just to retrieve the home directory, which we can do for the current user without cgo. This library does that, enabling cross-compilation.