From 8d703e95ae73e87ab214a11c18700b0e42cb9096 Mon Sep 17 00:00:00 2001 From: Bert Jacobs Date: Mon, 13 Sep 2021 16:58:46 +0200 Subject: [PATCH] Use platform independent os.UserHomeDir() function Pull request #7 replaced some code blocking cross-compilation. However, the "HOME" environment variable is not available on Windows. For this reason, Go introduced a dedicated method in the os package starting from version 1.12. --- homemaker.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/homemaker.go b/homemaker.go index d075550..fc46de5 100644 --- a/homemaker.go +++ b/homemaker.go @@ -28,6 +28,7 @@ import ( "log" "os" "path" + "strings" ) const ( @@ -50,7 +51,7 @@ func usage() { func main() { taskName := flag.String("task", "default", "name of task to execute") - dstDir := flag.String("dest", os.Getenv("HOME"), "target directory for tasks") + dstDir := flag.String("dest", "", "target directory for tasks") force := flag.Bool("force", true, "create parent directories to target") clobber := flag.Bool("clobber", false, "delete files and directories at target") verbose := flag.Bool("verbose", false, "verbose output") @@ -94,6 +95,10 @@ func main() { log.Fatal(err) } + if strings.TrimSpace(*dstDir) == "" { + *dstDir, _ = os.UserHomeDir() + } + conf.srcDir = makeAbsPath(flag.Arg(1)) conf.dstDir = makeAbsPath(*dstDir) conf.variant = *variant