aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/github.com/go-ini/ini/section.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/go-ini/ini/section.go')
-rw-r--r--vendor/github.com/go-ini/ini/section.go25
1 files changed, 19 insertions, 6 deletions
diff --git a/vendor/github.com/go-ini/ini/section.go b/vendor/github.com/go-ini/ini/section.go
index 45d2f3b..c9fa27e 100644
--- a/vendor/github.com/go-ini/ini/section.go
+++ b/vendor/github.com/go-ini/ini/section.go
@@ -68,20 +68,33 @@ func (s *Section) NewKey(name, val string) (*Key, error) {
68 } 68 }
69 69
70 if inSlice(name, s.keyList) { 70 if inSlice(name, s.keyList) {
71 s.keys[name].value = val 71 if s.f.options.AllowShadows {
72 if err := s.keys[name].addShadow(val); err != nil {
73 return nil, err
74 }
75 } else {
76 s.keys[name].value = val
77 }
72 return s.keys[name], nil 78 return s.keys[name], nil
73 } 79 }
74 80
75 s.keyList = append(s.keyList, name) 81 s.keyList = append(s.keyList, name)
76 s.keys[name] = &Key{ 82 s.keys[name] = newKey(s, name, val)
77 s: s,
78 name: name,
79 value: val,
80 }
81 s.keysHash[name] = val 83 s.keysHash[name] = val
82 return s.keys[name], nil 84 return s.keys[name], nil
83} 85}
84 86
87// NewBooleanKey creates a new boolean type key to given section.
88func (s *Section) NewBooleanKey(name string) (*Key, error) {
89 key, err := s.NewKey(name, "true")
90 if err != nil {
91 return nil, err
92 }
93
94 key.isBooleanType = true
95 return key, nil
96}
97
85// GetKey returns key in section by given name. 98// GetKey returns key in section by given name.
86func (s *Section) GetKey(name string) (*Key, error) { 99func (s *Section) GetKey(name string) (*Key, error) {
87 // FIXME: change to section level lock? 100 // FIXME: change to section level lock?