diff options
author | zeripath <art27@cantab.net> | 2020-10-25 17:19:06 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-25 17:19:06 +0000 |
commit | 172e7ee87f342d1681cc5c48bf69673849d128da (patch) | |
tree | 7a65a693e52584e7f04715f3dad006c82fe674c1 /modules/setting | |
parent | e2740b32b5aa120b24e4e31119b515dd19dbd9c7 (diff) | |
download | gitea-172e7ee87f342d1681cc5c48bf69673849d128da.tar.gz gitea-172e7ee87f342d1681cc5c48bf69673849d128da.zip |
Fix Storage mapping (#13297)
This PR fixes several bugs in setting storage
* The default STORAGE_TYPE should be the provided type.
* The Storage config should be passed in to NewStorage as a pointer - otherwise the Mappable interface function MapTo will not be found
* There was a bug in the MapTo function.
Fix #13286
Signed-off-by: Andrew Thornton <art27@cantab.net>
Diffstat (limited to 'modules/setting')
-rw-r--r-- | modules/setting/storage.go | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/modules/setting/storage.go b/modules/setting/storage.go index ab0598ccf8..e743d6c20c 100644 --- a/modules/setting/storage.go +++ b/modules/setting/storage.go @@ -21,7 +21,7 @@ type Storage struct { // MapTo implements the Mappable interface func (s *Storage) MapTo(v interface{}) error { - pathValue := reflect.ValueOf(v).FieldByName("Path") + pathValue := reflect.ValueOf(v).Elem().FieldByName("Path") if pathValue.IsValid() && pathValue.Kind() == reflect.String { pathValue.SetString(s.Path) } @@ -46,7 +46,7 @@ func getStorage(name, typ string, overrides ...*ini.Section) Storage { var storage Storage - storage.Type = sec.Key("STORAGE_TYPE").MustString("") + storage.Type = sec.Key("STORAGE_TYPE").MustString(typ) storage.ServeDirect = sec.Key("SERVE_DIRECT").MustBool(false) // Global Defaults |