summaryrefslogtreecommitdiffstats
path: root/modules/setting
diff options
context:
space:
mode:
authorzeripath <art27@cantab.net>2020-10-25 17:19:06 +0000
committerGitHub <noreply@github.com>2020-10-25 17:19:06 +0000
commit172e7ee87f342d1681cc5c48bf69673849d128da (patch)
tree7a65a693e52584e7f04715f3dad006c82fe674c1 /modules/setting
parente2740b32b5aa120b24e4e31119b515dd19dbd9c7 (diff)
downloadgitea-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.go4
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