fix panic
This commit is contained in:
@@ -18,7 +18,7 @@ func (acc *account) unmarshal(data map[string]interface{}) {
|
||||
typeOfPerson := valueOfPerson.Type()
|
||||
for i := 0; i < valueOfPerson.NumField(); i++ {
|
||||
field := valueOfPerson.Field(i)
|
||||
tag := typeOfPerson.Field(i).Tag.Get("mytag")
|
||||
tag := typeOfPerson.Field(i).Tag.Get("prosody")
|
||||
|
||||
if val, ok := data[tag]; ok {
|
||||
field.Set(reflect.ValueOf(val))
|
||||
@@ -28,7 +28,10 @@ func (acc *account) unmarshal(data map[string]interface{}) {
|
||||
|
||||
// loadAccount read the user .dat file and retrieves the data store in it
|
||||
func (p *Prosody) loadAccount(username string) (*account, error) {
|
||||
var acc *account
|
||||
if strings.HasSuffix(username, p.plainDomain) {
|
||||
username = strings.Replace(username, p.plainDomain, "", -1)
|
||||
}
|
||||
|
||||
data, err := os.ReadFile(p.accountsPath + username + ".dat")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -45,6 +48,7 @@ func (p *Prosody) loadAccount(username string) (*account, error) {
|
||||
}
|
||||
}
|
||||
|
||||
acc := &account{}
|
||||
acc.unmarshal(mapValues)
|
||||
return acc, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user