mirror of
https://github.com/astaxie/beego.git
synced 2024-11-22 14:10:54 +00:00
Merge pull request #2577 from ggicci/develop
Fix ini parsing error for multiple users on one machine.
This commit is contained in:
commit
b08ace7532
@ -21,6 +21,7 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os"
|
"os"
|
||||||
|
"os/user"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
@ -184,10 +185,17 @@ func (ini *IniConfig) parseData(dir string, data []byte) (*IniConfigContainer, e
|
|||||||
|
|
||||||
// ParseData parse ini the data
|
// ParseData parse ini the data
|
||||||
// When include other.conf,other.conf is either absolute directory
|
// When include other.conf,other.conf is either absolute directory
|
||||||
// or under beego in default temporary directory(/tmp/beego).
|
// or under beego in default temporary directory(/tmp/beego[-username]).
|
||||||
func (ini *IniConfig) ParseData(data []byte) (Configer, error) {
|
func (ini *IniConfig) ParseData(data []byte) (Configer, error) {
|
||||||
dir := filepath.Join(os.TempDir(), "beego")
|
dir := "beego"
|
||||||
os.MkdirAll(dir, os.ModePerm)
|
currentUser, err := user.Current()
|
||||||
|
if err == nil {
|
||||||
|
dir = "beego-" + currentUser.Username
|
||||||
|
}
|
||||||
|
dir = filepath.Join(os.TempDir(), dir)
|
||||||
|
if err = os.MkdirAll(dir, os.ModePerm); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
return ini.parseData(dir, data)
|
return ini.parseData(dir, data)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user