Skip to content

Commit d8bdba3

Browse files
authored
Merge pull request #61 from rafaelhl/skip-ignored-private-field
Skip ignored private fields
2 parents d80fb15 + 9c90def commit d8bdba3

2 files changed

Lines changed: 5 additions & 4 deletions

File tree

decode.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -189,12 +189,12 @@ func dec(p *Properties, key string, def *string, opts map[string]string, v refle
189189
for i := 0; i < v.NumField(); i++ {
190190
fv := v.Field(i)
191191
fk, def, opts := keydef(t.Field(i))
192-
if !fv.CanSet() {
193-
return fmt.Errorf("cannot set %s", t.Field(i).Name)
194-
}
195192
if fk == "-" {
196193
continue
197194
}
195+
if !fv.CanSet() {
196+
return fmt.Errorf("cannot set %s", t.Field(i).Name)
197+
}
198198
if key != "" {
199199
fk = key + "." + fk
200200
}

decode_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,11 +213,12 @@ func TestDecodeArrayDefaults(t *testing.T) {
213213

214214
func TestDecodeSkipUndef(t *testing.T) {
215215
type S struct {
216+
p string `properties:"-"`
216217
X string `properties:"-"`
217218
Undef string `properties:",default=some value"`
218219
}
219220
in := `X=ignore`
220-
out := &S{"", "some value"}
221+
out := &S{"", "", "some value"}
221222
testDecode(t, in, &S{}, out)
222223
}
223224

0 commit comments

Comments
 (0)