build-remote: fix format string shenanigans

HintFmt(string) invokes the HintFmt("%s", literal) constructor,
which is not what we want here. Add a constructor with a proper name
and call that.

Next step: rename all the other ones to HintFmt::literal(string).

Fixes: #178

Change-Id: If52d2eb8864ceb8663e05992e9d1fffef573d6b8
This commit is contained in:
Ilya K 2024-03-26 10:55:15 +03:00 committed by jade
parent 73624f7d9c
commit a69f6e185a
2 changed files with 5 additions and 1 deletions

View file

@ -202,7 +202,7 @@ static int main_build_remote(int argc, char * * argv)
else else
drvstr = "<unknown>"; drvstr = "<unknown>";
auto error = HintFmt(errorText); auto error = HintFmt::fromFormatString(errorText);
error error
% drvstr % drvstr
% neededSystem % neededSystem

View file

@ -141,6 +141,10 @@ public:
: HintFmt("%s", Uncolored(literal)) : HintFmt("%s", Uncolored(literal))
{ } { }
static HintFmt fromFormatString(const std::string & format) {
return HintFmt(boost::format(format));
}
/** /**
* Interpolate the given arguments into the format string. * Interpolate the given arguments into the format string.
*/ */