From b3f4b2b0002c01e5fb052fa8c8cc20dbb6b74df8 Mon Sep 17 00:00:00 2001 From: Randall Winkhart Date: Tue, 9 Jul 2024 15:20:36 -0400 Subject: [PATCH] Fix printing full executable path in error messages on Windows --- src/sync/2globalsUNIX.go | 9 +++++++++ src/sync/2globalsWIN.go | 10 ++++++++++ src/sync/client.go | 4 ++-- src/sync/commonUNIX.go | 2 +- src/sync/commonWIN.go | 2 +- 5 files changed, 23 insertions(+), 4 deletions(-) create mode 100644 src/sync/2globalsUNIX.go create mode 100644 src/sync/2globalsWIN.go diff --git a/src/sync/2globalsUNIX.go b/src/sync/2globalsUNIX.go new file mode 100644 index 0000000..1304087 --- /dev/null +++ b/src/sync/2globalsUNIX.go @@ -0,0 +1,9 @@ +//go:build !windows + +package sync + +import ( + "os" +) + +var vanityEXE = os.Args[0] diff --git a/src/sync/2globalsWIN.go b/src/sync/2globalsWIN.go new file mode 100644 index 0000000..22ceed5 --- /dev/null +++ b/src/sync/2globalsWIN.go @@ -0,0 +1,10 @@ +//go:build windows + +package sync + +import ( + "os" + "strings" +) + +var vanityEXE = os.Args[0][strings.LastIndex(os.Args[0], "\\")+1:] diff --git a/src/sync/client.go b/src/sync/client.go index c46a1fa..ce3c7c2 100644 --- a/src/sync/client.go +++ b/src/sync/client.go @@ -26,7 +26,7 @@ func getSSHClient(manualSync bool) (*ssh.Client, string, bool) { var sshUserConfig []string var missingValueError string if manualSync { - missingValueError = "SSH settings not configured - run \"" + os.Args[0] + " init\" to configure" + missingValueError = "SSH settings not configured - run \"" + vanityEXE + " init\" to configure" } else { missingValueError = "0" } @@ -135,7 +135,7 @@ func getRemoteDataFromClient(manualSync bool) (map[string]int64, []string, []str clientDeviceID, _ := os.ReadDir(backend.ConfigDir + backend.PathSeparator + "devices") if len(clientDeviceID) == 0 { if manualSync { - fmt.Println(backend.AnsiError + "Sync failed - No device ID found; run \"" + os.Args[0] + " init\" to generate a device ID" + backend.AnsiReset) + fmt.Println(backend.AnsiError + "Sync failed - No device ID found; run \"" + vanityEXE + " init\" to generate a device ID" + backend.AnsiReset) os.Exit(1) } else { backend.Exit(0) // exit silently if the sync job was called automatically, as the user may just be in offline mode diff --git a/src/sync/commonUNIX.go b/src/sync/commonUNIX.go index bc32d4c..98abdec 100644 --- a/src/sync/commonUNIX.go +++ b/src/sync/commonUNIX.go @@ -24,7 +24,7 @@ func WalkEntryDir() ([]string, []string) { // check for errors encountered while walking directory if err != nil { if os.IsNotExist(err) { - fmt.Println(backend.AnsiError+"The entry directory does not exist - run \""+os.Args[0], "init"+"\" to create it"+backend.AnsiReset) + fmt.Println(backend.AnsiError+"The entry directory does not exist - run \""+vanityEXE, "init"+"\" to create it"+backend.AnsiReset) } else { // otherwise, print the source of the error fmt.Println(backend.AnsiError + "An unexpected error occurred while generating the entry list: " + err.Error() + backend.AnsiReset) diff --git a/src/sync/commonWIN.go b/src/sync/commonWIN.go index 1324153..71adb40 100644 --- a/src/sync/commonWIN.go +++ b/src/sync/commonWIN.go @@ -25,7 +25,7 @@ func WalkEntryDir() ([]string, []string) { // check for errors encountered while walking directory if err != nil { if os.IsNotExist(err) { - fmt.Println(backend.AnsiError+"The entry directory does not exist - run \""+os.Args[0], "init"+"\" to create it"+backend.AnsiReset) + fmt.Println(backend.AnsiError+"The entry directory does not exist - run \""+vanityEXE, "init"+"\" to create it"+backend.AnsiReset) } else { // otherwise, print the source of the error fmt.Println(backend.AnsiError + "An unexpected error occurred while generating the entry list: " + err.Error() + backend.AnsiReset)