aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/build.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstore/build.cc')
-rw-r--r--src/libstore/build.cc38
1 files changed, 1 insertions, 37 deletions
diff --git a/src/libstore/build.cc b/src/libstore/build.cc
index ef0a304de..d93b5607d 100644
--- a/src/libstore/build.cc
+++ b/src/libstore/build.cc
@@ -2441,42 +2441,6 @@ void DerivationGoal::deleteTmpDir(bool force)
}
-/* Filter out the special ANSI escape codes generated by Nixpkgs'
- stdenv (used to denote nesting etc.). */
-static string filterNixEscapes(const string & s)
-{
- string t, r;
- enum { stTop, stEscape, stCSI } state = stTop;
- for (auto c : s) {
- if (state == stTop) {
- if (c == '\e') {
- state = stEscape;
- r = c;
- } else
- t += c;
- } else if (state == stEscape) {
- r += c;
- if (c == '[')
- state = stCSI;
- else {
- t += r;
- state = stTop;
- }
- } else {
- r += c;
- if (c >= 0x40 && c != 0x7e) {
- if (c != 'p' && c != 'q' && c != 's' && c != 'a' && c != 'b')
- t += r;
- state = stTop;
- r.clear();
- }
- }
- }
- t += r;
- return t;
-}
-
-
void DerivationGoal::handleChildOutput(int fd, const string & data)
{
if ((hook && fd == hook->builderOut.readSide) ||
@@ -2491,7 +2455,7 @@ void DerivationGoal::handleChildOutput(int fd, const string & data)
return;
}
if (verbosity >= settings.buildVerbosity)
- writeToStderr(filterNixEscapes(data));
+ writeToStderr(filterANSIEscapes(data, true));
if (bzLogFile) {
int err;
BZ2_bzWrite(&err, bzLogFile, (unsigned char *) data.data(), data.size());