diff options
author | Scott Graham <scottmg@chromium.org> | 2013-04-09 17:03:46 (GMT) |
---|---|---|
committer | Scott Graham <scottmg@chromium.org> | 2013-04-09 17:03:46 (GMT) |
commit | 808aa158be0d422a2ee5366a3f4eda29cd51c39a (patch) | |
tree | 1eec01a29e04b7207c40d162e4074feee149a52d /src | |
parent | 3e5dce7ce641c600384268db3feb74cb8aac25b3 (diff) | |
download | Ninja-808aa158be0d422a2ee5366a3f4eda29cd51c39a.zip Ninja-808aa158be0d422a2ee5366a3f4eda29cd51c39a.tar.gz Ninja-808aa158be0d422a2ee5366a3f4eda29cd51c39a.tar.bz2 |
fix windows build after depslog
Diffstat (limited to 'src')
-rw-r--r-- | src/build.cc | 2 | ||||
-rw-r--r-- | src/deps_log.cc | 2 | ||||
-rw-r--r-- | src/line_printer.cc | 10 | ||||
-rw-r--r-- | src/line_printer.h | 6 |
4 files changed, 13 insertions, 7 deletions
diff --git a/src/build.cc b/src/build.cc index ab3d781..39e3e2a 100644 --- a/src/build.cc +++ b/src/build.cc @@ -247,7 +247,7 @@ void BuildStatus::PrintStatus(Edge* edge) { to_print = FormatProgressStatus(progress_status_format_) + to_print; printer_.Print(to_print, - force_full_command ? LinePrinter::FULL : LinePrinter::SHORT); + force_full_command ? LinePrinter::FULL : LinePrinter::ELIDE); } Plan::Plan() : command_edges_(0), wanted_edges_(0) {} diff --git a/src/deps_log.cc b/src/deps_log.cc index 8946e32..55ed30a 100644 --- a/src/deps_log.cc +++ b/src/deps_log.cc @@ -18,7 +18,9 @@ #include <stdio.h> #include <errno.h> #include <string.h> +#ifndef _WIN32 #include <unistd.h> +#endif #include "graph.h" #include "metrics.h" diff --git a/src/line_printer.cc b/src/line_printer.cc index d30dd2c..751fb07 100644 --- a/src/line_printer.cc +++ b/src/line_printer.cc @@ -57,7 +57,7 @@ void LinePrinter::Print(std::string to_print, LineType type) { #endif } - if (smart_terminal_ && type == SHORT) { + if (smart_terminal_ && type == ELIDE) { #ifdef _WIN32 // Don't use the full width or console will move to next line. size_t width = static_cast<size_t>(csbi.dwSize.X) - 1; @@ -68,9 +68,11 @@ void LinePrinter::Print(std::string to_print, LineType type) { GetConsoleScreenBufferInfo(console_, &csbi); COORD buf_size = { csbi.dwSize.X, 1 }; COORD zero_zero = { 0, 0 }; - SMALL_RECT target = { csbi.dwCursorPosition.X, csbi.dwCursorPosition.Y, - (SHORT)(csbi.dwCursorPosition.X + csbi.dwSize.X - 1), - csbi.dwCursorPosition.Y }; + SMALL_RECT target = { + csbi.dwCursorPosition.X, csbi.dwCursorPosition.Y, + static_cast<SHORT>(csbi.dwCursorPosition.X + csbi.dwSize.X - 1), + csbi.dwCursorPosition.Y + }; CHAR_INFO* char_data = new CHAR_INFO[csbi.dwSize.X]; memset(char_data, 0, sizeof(CHAR_INFO) * csbi.dwSize.X); for (int i = 0; i < csbi.dwSize.X; ++i) { diff --git a/src/line_printer.h b/src/line_printer.h index 78510ea..54620da 100644 --- a/src/line_printer.h +++ b/src/line_printer.h @@ -28,9 +28,9 @@ class LinePrinter { enum LineType { FULL, - SHORT + ELIDE }; - /// Overprints the current line. If type is SHORT, elides to_print to fit on + /// Overprints the current line. If type is ELIDE, elides to_print to fit on /// one line. void Print(std::string to_print, LineType type); @@ -43,6 +43,8 @@ class LinePrinter { /// Whether the caret is at the beginning of a blank line. bool have_blank_line_; + + void* console_; }; #endif // NINJA_LINE_PRINTER_H_ |