commit | f47e1fe91537b54ad25e8837235e95b8d98f8965 | [log] [tgz] |
---|---|---|
author | Matteo Kloiber <info@matt3o12.de> | Fri Apr 17 23:42:35 2015 +0200 |
committer | Matteo Kloiber <info@matt3o12.de> | Fri Apr 17 23:42:35 2015 +0200 |
tree | 246ba61f04c32a66c59b5e1286d56578dd0b744b | |
parent | 7d2d8c8a4e078ce3c58736ab521a40b37a504c52 [diff] |
Fixed a bug which would expand string incorrectly under *NIX. If the home environment varible ended with slash ('/'), the the expanded string would have two slashes at some point. For detailed information, see the changed unit tests. homedir now uses filepath.Join to join the string correctly.
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.