diff --git a/README.md b/README.md index 7f55425..275139d 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,8 @@ -# Config [![wercker status](https://app.wercker.com/status/b4e8561d9a711afcb016bf0018e83897/s/ "wercker status")](https://app.wercker.com/project/bykey/b4e8561d9a711afcb016bf0018e83897) [![GoDoc](https://godoc.org/github.com/olebedev/config?status.png)](https://godoc.org/github.com/olebedev/config) +# Config [![GoDoc](https://godoc.org/github.com/rusriver/config?status.png)](https://godoc.org/github.com/rusriver/config) Package config provides convenient access methods to configuration stored as JSON or YAML. -This is a fork of the [original version](https://github.com/moraes/config). -This version extends the functionality of the original without losing compatibility. -Major features added: +This is a fork of the A fork of [olebedev/config](https://github.com/olebedev/config), +which in turn is a fork of [original version](https://github.com/moraes/config). -- [`Set(path string, value interface{}) error`](http://godoc.org/github.com/olebedev/config#Config.Set) method -- [`Env() *config.Config`](http://godoc.org/github.com/olebedev/config#Config.Env) method, for OS environment variables parsing -- [`Flag() *config.Config`](http://godoc.org/github.com/olebedev/config#Config.Flag) method, for command line arguments parsing usign pkg/flag singleton -- [`Args(args ...string) *config.Config`](http://godoc.org/github.com/olebedev/config#Config.Args) method, for command line arguments parsing -- [`U*`](https://godoc.org/github.com/olebedev/config#Config.UBool) methods -- [`Copy(...path) (*config.config, error)`](https://godoc.org/github.com/olebedev/config#Config.Copy) method -- [`Extend(*config.Config) (*config.Config, error)`](https://godoc.org/github.com/olebedev/config#Config.Extend) method -- [`Error() error`](https://godoc.org/github.com/olebedev/config#Config.Error) method to show last parsing error, works only with `.Args()` method - -Example and more information you can find [here](http://godoc.org/github.com/olebedev/config). diff --git a/config.go b/config.go index 1a7532b..e25a3a9 100644 --- a/config.go +++ b/config.go @@ -509,7 +509,7 @@ func Set(cfg interface{}, path string, value interface{}) error { c[part] = value } else { // if exists just pick the pointer - if va, ok := c[part]; ok { + if va, ok := c[part]; ok && va != nil { point = &va } else { // is next part slice or map?