aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/adhoc-rule-regex-pattern.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'libbuild2/adhoc-rule-regex-pattern.cxx')
-rw-r--r--libbuild2/adhoc-rule-regex-pattern.cxx19
1 files changed, 5 insertions, 14 deletions
diff --git a/libbuild2/adhoc-rule-regex-pattern.cxx b/libbuild2/adhoc-rule-regex-pattern.cxx
index 89a4766..b0de827 100644
--- a/libbuild2/adhoc-rule-regex-pattern.cxx
+++ b/libbuild2/adhoc-rule-regex-pattern.cxx
@@ -196,26 +196,17 @@ namespace build2
//
string& ns (me.buffer);
- auto append_name = [&ns, first = true] (const target_key& tk,
- const element& e) mutable
+ auto append_name = [&ns,
+ first = true,
+ storage = string ()] (const target_key& tk,
+ const element& e) mutable
{
if (!first)
ns += '/';
else
first = false;
- ns += *tk.name;
-
- // The same semantics as in variable_type_map::find().
- //
- if (tk.ext && !tk.ext->empty () &&
- (e.match_ext ||
- tk.type->fixed_extension == &target_extension_none ||
- tk.type->fixed_extension == &target_extension_must))
- {
- ns += '.';
- ns += *tk.ext;
- }
+ ns += tk.effective_name (storage, e.match_ext);
};
// Primary target (always a pattern).