From 70af056de8213cc013e1ab48594c936e4bf92a36 Mon Sep 17 00:00:00 2001 From: Qyriad Date: Wed, 10 Apr 2024 18:30:12 -0600 Subject: [PATCH] don't boost::to_few_args when an eval cached string type errors Change-Id: Id3cb762622e156ceaf9d5bb95c2c704ffe474d0e --- src/libexpr/eval-cache.cc | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/libexpr/eval-cache.cc b/src/libexpr/eval-cache.cc index f26e6d724..5969ee449 100644 --- a/src/libexpr/eval-cache.cc +++ b/src/libexpr/eval-cache.cc @@ -576,8 +576,9 @@ std::string AttrCursor::getString() auto & v = forceValue(); - if (v.type() != nString && v.type() != nPath) - root->state.error("'%s' is not a string but %s", getAttrPathStr()).debugThrow(); + if (v.type() != nString && v.type() != nPath) { + root->state.error("'%s' is not a string but %s", getAttrPathStr(), v.type()).debugThrow(); + } return v.type() == nString ? v.string.s : v.path().to_string(); } @@ -622,11 +623,11 @@ string_t AttrCursor::getStringWithContext() NixStringContext context; copyContext(v, context); return {v.string.s, std::move(context)}; - } - else if (v.type() == nPath) + } else if (v.type() == nPath) { return {v.path().to_string(), {}}; - else - root->state.error("'%s' is not a string but %s", getAttrPathStr()).debugThrow(); + } else { + root->state.error("'%s' is not a string but %s", getAttrPathStr(), v.type()).debugThrow(); + } } bool AttrCursor::getBool()