diff --git a/toml/serializer.hpp b/toml/serializer.hpp index 68bdbcc..d3cbc48 100644 --- a/toml/serializer.hpp +++ b/toml/serializer.hpp @@ -485,13 +485,15 @@ inline std::string format(const value& v, std::size_t w = 80, int fprec = std::numeric_limits::max_digits10) { - return visit(serializer(w, fprec, true), v); + // if value is a table, it is considered to be a root object. + // the root object can't be an inline table. so pass false. otherwise, true. + return visit(serializer(w, fprec, !v.is_table()), v); } inline std::string format(const table& t, std::size_t w = 80, int fprec = std::numeric_limits::max_digits10) { - return serializer(w, fprec, true)(t); + return serializer(w, fprec, false)(t); } template