@@ -97,7 +97,12 @@ func Remove(name string) (*Tunnel, error) {
97
97
func loadStore () (* Store , error ) {
98
98
var store * Store
99
99
100
- if _ , err := os .Stat (storePath ()); err != nil {
100
+ sp , err := storePath ()
101
+ if err != nil {
102
+ return nil , err
103
+ }
104
+
105
+ if _ , err := os .Stat (sp ); err != nil {
101
106
store = & Store {Tunnels : make (map [string ]* Tunnel )}
102
107
store , err = createStore (store )
103
108
if err != nil {
@@ -107,15 +112,20 @@ func loadStore() (*Store, error) {
107
112
return store , nil
108
113
}
109
114
110
- if _ , err := toml .DecodeFile (storePath () , & store ); err != nil {
115
+ if _ , err := toml .DecodeFile (sp , & store ); err != nil {
111
116
return nil , err
112
117
}
113
118
114
119
return store , nil
115
120
}
116
121
117
122
func createStore (store * Store ) (* Store , error ) {
118
- f , err := os .Create (storePath ())
123
+ sp , err := storePath ()
124
+ if err != nil {
125
+ return nil , err
126
+ }
127
+
128
+ f , err := os .Create (sp )
119
129
if err != nil {
120
130
return nil , err
121
131
}
@@ -131,6 +141,11 @@ func createStore(store *Store) (*Store, error) {
131
141
return store , nil
132
142
}
133
143
134
- func storePath () string {
135
- return filepath .Join (os .Getenv ("HOME" ), ".mole.conf" )
144
+ func storePath () (string , error ) {
145
+ home , err := os .UserHomeDir ()
146
+ if err != nil {
147
+ return "" , err
148
+ }
149
+
150
+ return filepath .Join (home , ".mole.conf" ), nil
136
151
}
0 commit comments