diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-08-10 00:38:48 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-08-10 00:38:48 +0900 |
| commit | 97f34ab6682d83d9a0265a4291b44eaf45703493 (patch) | |
| tree | d91197441426fc303e4803c859c6b784c848d5bc /src/WinConsoleFile.cc | |
| parent | a10cda2f17916895d8c6bc3cd69a360947017771 (diff) | |
Added global::cerr. windows.h now included from common.h
We replaced most of std::cerr with global::cerr. windows.h is now
included from common.h. Before including it, we define WINVER. We
renamed some variable name because some macros in windows.h collide
with them.
Diffstat (limited to 'src/WinConsoleFile.cc')
| -rw-r--r-- | src/WinConsoleFile.cc | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/src/WinConsoleFile.cc b/src/WinConsoleFile.cc index 81755fe1..fecd55fd 100644 --- a/src/WinConsoleFile.cc +++ b/src/WinConsoleFile.cc @@ -39,37 +39,34 @@ #include <cstdarg> #include <string> -#ifdef __MINGW32__ -# define WIN32_LEAN_AND_MEAN -# include <windows.h> -#endif // __MINGW32__ - #include "a2io.h" #include "util.h" namespace aria2 { -WinConsoleFile::WinConsoleFile() {} +WinConsoleFile::WinConsoleFile(DWORD stdHandle) + : stdHandle_(stdHandle) +{} WinConsoleFile::~WinConsoleFile() {} namespace { -bool console() +bool console(DWORD stdHandle) { DWORD mode; - return GetConsoleMode(GetStdHandle(STD_OUTPUT_HANDLE), &mode); + return GetConsoleMode(GetStdHandle(stdHandle), &mode); } } // namespace size_t WinConsoleFile::write(const char* str) { DWORD written; - if(console()) { + if(console(stdHandle_)) { std::wstring msg = utf8ToWChar(str); - WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), + WriteConsoleW(GetStdHandle(stdHandle_), msg.c_str(), msg.size(), &written, 0); } else { - WriteFile(GetStdHandle(STD_OUTPUT_HANDLE), + WriteFile(GetStdHandle(stdHandle_), str, strlen(str), &written, 0); } return written; @@ -86,12 +83,12 @@ int WinConsoleFile::printf(const char* format, ...) return 0; } DWORD written; - if(console()) { + if(console(stdHandle_)) { std::wstring msg = utf8ToWChar(buf); - WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), + WriteConsoleW(GetStdHandle(stdHandle_), msg.c_str(), msg.size(), &written, 0); } else { - WriteFile(GetStdHandle(STD_OUTPUT_HANDLE), + WriteFile(GetStdHandle(stdHandle_), buf, r, &written, 0); } return written; |
