main: print relative path in the init success message

... but only if the relative path does not start with "..".

Makes the message easier to grasp. Example:

  $ gocryptfs -init -scryptn=10 v0.9
  [...]
  The filesystem has been created successfully.

Before:
  You can now mount it using: gocryptfs /home/jakob/src/github.com/rfjakob/gocryptfs/integration_tests/example_filesystems/v0.9 MOUNTPOINT

After:
  You can now mount it using: gocryptfs v0.9 MOUNTPOINT
This commit is contained in:
Jakob Unterwurzacher 2016-06-04 14:24:48 +02:00
parent 80b027f830
commit 2e2ee0a038

11
main.go
View File

@ -12,6 +12,7 @@ import (
"runtime" "runtime"
"runtime/pprof" "runtime/pprof"
"strconv" "strconv"
"strings"
"syscall" "syscall"
"time" "time"
@ -56,6 +57,7 @@ var flagSet *flag.FlagSet
var GitVersion = "[version not set - please compile using ./build.bash]" var GitVersion = "[version not set - please compile using ./build.bash]"
var GitVersionFuse = "[version not set - please compile using ./build.bash]" var GitVersionFuse = "[version not set - please compile using ./build.bash]"
// initDir initializes an empty directory for use as a gocryptfs cipherdir.
func initDir(args *argContainer) { func initDir(args *argContainer) {
err := checkDirEmpty(args.cipherdir) err := checkDirEmpty(args.cipherdir)
if err != nil { if err != nil {
@ -82,8 +84,15 @@ func initDir(args *argContainer) {
} }
toggledlog.Info.Printf(colorGreen + "The filesystem has been created successfully." + colorReset) toggledlog.Info.Printf(colorGreen + "The filesystem has been created successfully." + colorReset)
wd, _ := os.Getwd()
friendlyPath, _ := filepath.Rel(wd, args.cipherdir)
if strings.HasPrefix(friendlyPath, "../") {
// A relative path that starts with "../" is pretty unfriendly, just
// keep the absolute path.
friendlyPath = args.cipherdir
}
toggledlog.Info.Printf(colorGrey+"You can now mount it using: %s %s MOUNTPOINT"+colorReset, toggledlog.Info.Printf(colorGrey+"You can now mount it using: %s %s MOUNTPOINT"+colorReset,
toggledlog.ProgramName, args.cipherdir) toggledlog.ProgramName, friendlyPath)
os.Exit(0) os.Exit(0)
} }