mirror of
https://github.com/tulir/mautrix-whatsapp
synced 2024-11-15 14:32:43 +01:00
Use current directory for config temp file
This commit is contained in:
parent
465fa4aa16
commit
fad3a053b7
1 changed files with 5 additions and 4 deletions
|
@ -19,6 +19,7 @@ package config
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
|
"path"
|
||||||
|
|
||||||
"gopkg.in/yaml.v3"
|
"gopkg.in/yaml.v3"
|
||||||
|
|
||||||
|
@ -130,8 +131,8 @@ func Upgrade(path string, save bool) ([]byte, bool, error) {
|
||||||
return upgrade(path, save, nil)
|
return upgrade(path, save, nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
func upgrade(path string, save bool, mutate func(helper *UpgradeHelper)) ([]byte, bool, error) {
|
func upgrade(configPath string, save bool, mutate func(helper *UpgradeHelper)) ([]byte, bool, error) {
|
||||||
sourceData, err := os.ReadFile(path)
|
sourceData, err := os.ReadFile(configPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, false, fmt.Errorf("failed to read config: %w", err)
|
return nil, false, fmt.Errorf("failed to read config: %w", err)
|
||||||
}
|
}
|
||||||
|
@ -157,7 +158,7 @@ func upgrade(path string, save bool, mutate func(helper *UpgradeHelper)) ([]byte
|
||||||
}
|
}
|
||||||
if save {
|
if save {
|
||||||
var tempFile *os.File
|
var tempFile *os.File
|
||||||
tempFile, err = os.CreateTemp("", "wa-config-*.yaml")
|
tempFile, err = os.CreateTemp(path.Dir(configPath), "wa-config-*.yaml")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return output, true, fmt.Errorf("failed to create temp file for writing config: %w", err)
|
return output, true, fmt.Errorf("failed to create temp file for writing config: %w", err)
|
||||||
}
|
}
|
||||||
|
@ -166,7 +167,7 @@ func upgrade(path string, save bool, mutate func(helper *UpgradeHelper)) ([]byte
|
||||||
_ = os.Remove(tempFile.Name())
|
_ = os.Remove(tempFile.Name())
|
||||||
return output, true, fmt.Errorf("failed to write updated config to temp file: %w", err)
|
return output, true, fmt.Errorf("failed to write updated config to temp file: %w", err)
|
||||||
}
|
}
|
||||||
err = os.Rename(tempFile.Name(), path)
|
err = os.Rename(tempFile.Name(), configPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
_ = os.Remove(tempFile.Name())
|
_ = os.Remove(tempFile.Name())
|
||||||
return output, true, fmt.Errorf("failed to override current config with temp file: %w", err)
|
return output, true, fmt.Errorf("failed to override current config with temp file: %w", err)
|
||||||
|
|
Loading…
Reference in a new issue