aboutsummaryrefslogtreecommitdiff
path: root/pkg/config
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.eu>2022-01-08 20:03:36 +0100
committerRené 'Necoro' Neumann <necoro@necoro.eu>2022-01-08 20:03:36 +0100
commit180aa45d40e5d58d579fcaba44b94bcb8e3e08be (patch)
treee3a85c8e93da07aa97fcfaedd0f4d1add5e20401 /pkg/config
parent8bbd94713d8b4a1e4a0a28aa26841d836dd25aab (diff)
downloadfeed2imap-go-180aa45d40e5d58d579fcaba44b94bcb8e3e08be.tar.gz
feed2imap-go-180aa45d40e5d58d579fcaba44b94bcb8e3e08be.tar.bz2
feed2imap-go-180aa45d40e5d58d579fcaba44b94bcb8e3e08be.zip
Fix configuration parsing, when the target field is not of a primitive type.
Diffstat (limited to 'pkg/config')
-rw-r--r--pkg/config/yaml.go10
1 files changed, 7 insertions, 3 deletions
diff --git a/pkg/config/yaml.go b/pkg/config/yaml.go
index ad1acf7..a80c80d 100644
--- a/pkg/config/yaml.go
+++ b/pkg/config/yaml.go
@@ -150,7 +150,7 @@ func buildOptions(globalFeedOptions *Options, options Map) (feedOptions Options,
n := gv.NumField()
for i := 0; i < n; i++ {
- val := fv.Field(i)
+ field := fv.Field(i)
f := fv.Type().Field(i)
if f.PkgPath != "" && !f.Anonymous {
@@ -166,10 +166,14 @@ func buildOptions(globalFeedOptions *Options, options Map) (feedOptions Options,
set, ok := options[name]
if ok { // in the map -> copy and delete
- val.Set(reflect.ValueOf(set))
+ value := reflect.ValueOf(set)
+ if !value.Type().AssignableTo(field.Type()) {
+ value = value.Convert(field.Type())
+ }
+ field.Set(value)
delete(options, name)
} else { // not in the map -> copy from global
- val.Set(gv.Field(i))
+ field.Set(gv.Field(i))
}
}
>René 'Necoro' Neumann3-5/+5 2021-02-16Use go-embed for templates instead of inline strings.René 'Necoro' Neumann6-74/+79 2021-02-16Issue #46: Fix semantics of `n` resultRené 'Necoro' Neumann2-9/+15 2021-02-16Issue #46: Move and rename writer; add commentsRené 'Necoro' Neumann3-12/+21 2021-02-15Issue #46: Improvements; add testsRené 'Necoro' Neumann2-1/+48 2021-02-15Bump github.com/google/uuid from 1.1.4 to 1.2.0dependabot[bot]2-3/+3 2021-02-15Issue #46: Make the resulting email body not to include single \r or \n. This...René 'Necoro' Neumann2-2/+66 2021-01-20Bump github.com/PuerkitoBio/goquery from 1.6.0 to 1.6.1dependabot[bot]2-3/+3 2021-01-09Bump github.com/google/uuid from 1.1.2 to 1.1.4dependabot[bot]2-3/+3 2021-01-09Bump github.com/emersion/go-message from 0.14.0 to 0.14.1 (#42)dependabot[bot]2-3/+3 2020-11-28Bump github.com/emersion/go-message from 0.13.0 to 0.14.0 (#38)dependabot[bot]2-3/+9 2020-11-28Bump github.com/google/go-cmp from 0.5.2 to 0.5.4 (#37)dependabot[bot]2-3/+3 2020-11-23Fix release.ymlv0.5.2René 'Necoro' Neumann1-3/+10 2020-11-23Prepare v0.5.2René 'Necoro' Neumann3-3/+8 2020-11-20Bump github.com/gabriel-vasile/mimetype from 1.1.1 to 1.1.2dependabot[bot]2-3/+3 2020-11-04Clean dependabot.ymlRené 'Necoro' Neumann1-4/+0