mirror of https://github.com/schollz/croc.git
Gracefully handle non existend receive config file
If croc shall not remember the config, it should not exit if the config file could not be opened. This is similar to the handling of the send config.
This commit is contained in:
parent
956598c427
commit
e599e56415
|
@ -153,7 +153,7 @@ func setDebugLevel(c *cli.Context) {
|
|||
}
|
||||
}
|
||||
|
||||
func getConfigFile() string {
|
||||
func getSendConfigFile() string {
|
||||
configFile, err := utils.GetConfigDir()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
|
@ -162,6 +162,15 @@ func getConfigFile() string {
|
|||
return path.Join(configFile, "send.json")
|
||||
}
|
||||
|
||||
func getReceiveConfigFile() (string, error) {
|
||||
configFile, err := utils.GetConfigDir()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
return "", err
|
||||
}
|
||||
return path.Join(configFile, "receive.json"), nil
|
||||
}
|
||||
|
||||
func determinePass(c *cli.Context) (pass string) {
|
||||
pass = c.String("pass")
|
||||
b, err := os.ReadFile(pass)
|
||||
|
@ -219,7 +228,7 @@ func send(c *cli.Context) (err error) {
|
|||
} else if crocOptions.RelayAddress6 != models.DEFAULT_RELAY6 {
|
||||
crocOptions.RelayAddress = ""
|
||||
}
|
||||
b, errOpen := os.ReadFile(getConfigFile())
|
||||
b, errOpen := os.ReadFile(getSendConfigFile())
|
||||
if errOpen == nil && !c.Bool("remember") {
|
||||
var rememberedOptions croc.Options
|
||||
err = json.Unmarshal(b, &rememberedOptions)
|
||||
|
@ -355,7 +364,7 @@ func makeTempFileWithString(s string) (fnames []string, err error) {
|
|||
|
||||
func saveConfig(c *cli.Context, crocOptions croc.Options) {
|
||||
if c.Bool("remember") {
|
||||
configFile := getConfigFile()
|
||||
configFile := getSendConfigFile()
|
||||
log.Debug("saving config file")
|
||||
var bConfig []byte
|
||||
// if the code wasn't set, don't save it
|
||||
|
@ -443,12 +452,11 @@ func receive(c *cli.Context) (err error) {
|
|||
|
||||
// load options here
|
||||
setDebugLevel(c)
|
||||
configFile, err := utils.GetConfigDir()
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
|
||||
configFile, err := getReceiveConfigFile()
|
||||
if err != nil && c.Bool("remember") {
|
||||
return
|
||||
}
|
||||
configFile = path.Join(configFile, "receive.json")
|
||||
b, errOpen := os.ReadFile(configFile)
|
||||
if errOpen == nil && !c.Bool("remember") {
|
||||
var rememberedOptions croc.Options
|
||||
|
|
Loading…
Reference in New Issue