Makefile: Print all color escape sequences before newline

Ensure that the escape sequences do not leak across lines.
This commit is contained in:
Brad King 2015-02-06 16:39:00 -05:00
parent 8521fdf56e
commit c6ada8275b
1 changed files with 9 additions and 3 deletions

View File

@ -2304,13 +2304,19 @@ void cmSystemTools::MakefileColorEcho(int color, const char* message,
if(enabled) if(enabled)
{ {
cmsysTerminal_cfprintf(color | assumeTTY, stdout, "%s%s", // Print with color. Delay the newline until later so that
message, newline? "\n" : ""); // all color restore sequences appear before it.
cmsysTerminal_cfprintf(color | assumeTTY, stdout, "%s", message);
} }
else else
{ {
// Color is disabled. Print without color. // Color is disabled. Print without color.
fprintf(stdout, "%s%s", message, newline? "\n" : ""); fprintf(stdout, "%s", message);
}
if(newline)
{
fprintf(stdout, "\n");
} }
} }