aboutsummaryrefslogtreecommitdiff
path: root/build2/variable.txx
diff options
context:
space:
mode:
Diffstat (limited to 'build2/variable.txx')
-rw-r--r--build2/variable.txx16
1 files changed, 15 insertions, 1 deletions
diff --git a/build2/variable.txx b/build2/variable.txx
index f1335b4..95e4f0a 100644
--- a/build2/variable.txx
+++ b/build2/variable.txx
@@ -148,7 +148,21 @@ namespace build2
names_view
simple_reverse (const value& v, names& s)
{
- s.emplace_back (value_traits<T>::reverse (v.as<T> ()));
+ const T& x (v.as<T> ());
+
+ // Represent an empty simple value as empty name sequence rather than
+ // a single empty name. This way, for example, during serialization we
+ // end up with a much saner looking:
+ //
+ // config.import.foo =
+ //
+ // Rather than:
+ //
+ // config.import.foo = {}
+ //
+ if (!value_traits<T>::empty (x))
+ s.emplace_back (value_traits<T>::reverse (x));
+
return s;
}