From 7ff233863b9226a59acf49092076fbec541bb11d Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 9 Jun 2020 14:08:11 +0200 Subject: Handle empty target_key value (directory) in as_name() --- libbuild2/target.cxx | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/libbuild2/target.cxx b/libbuild2/target.cxx index b65a4fa..e3ad367 100644 --- a/libbuild2/target.cxx +++ b/libbuild2/target.cxx @@ -47,15 +47,21 @@ namespace build2 void target_key:: as_name (names& r) const { - string v (*name); - target::combine_name (v, ext, false /* @@ TODO: what to do? */); + string v; + if (!name->empty ()) + { + v = *name; + target::combine_name (v, ext, false /* @@ TODO: what to do? */); + } + else + assert (!ext); - r.push_back (build2::name (*dir, type->name, move (v))); + r.emplace_back (*dir, type->name, move (v)); if (!out->empty ()) { r.back ().pair = '@'; - r.push_back (build2::name (*out)); + r.emplace_back (*out); } } -- cgit v1.1