Don't wrap native types in a tomlValue{}
diff --git a/toml.go b/toml.go
index 2c43d73..2896da7 100644
--- a/toml.go
+++ b/toml.go
@@ -191,7 +191,21 @@
subtree = node[len(node)-1]
}
}
- subtree.values[keys[len(keys)-1]] = &tomlValue{value: value}
+
+ var toInsert interface{}
+
+ switch value.(type) {
+ case *TomlTree:
+ toInsert = value
+ case []*TomlTree:
+ toInsert = value
+ case *tomlValue:
+ toInsert = value
+ default:
+ toInsert = &tomlValue{value: value}
+ }
+
+ subtree.values[keys[len(keys)-1]] = toInsert
}
// createSubTree takes a tree and a key and create the necessary intermediate