From bd0a3960dfacda0c96dda0b4d0e9d88e7de800a9 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> Date: Wed, 30 Jul 2014 00:38:45 +0900 Subject: [PATCH] mingw32: Fix bug that aria2 does not read piped stdin --- src/BufferedFile.cc | 4 +++- src/GZipFile.cc | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/BufferedFile.cc b/src/BufferedFile.cc index 118cfc1b..ee35006a 100644 --- a/src/BufferedFile.cc +++ b/src/BufferedFile.cc @@ -46,7 +46,9 @@ namespace aria2 { BufferedFile::BufferedFile(const char* filename, const char* mode) : #ifdef __MINGW32__ - fp_(a2fopen(utf8ToWChar(filename).c_str(), utf8ToWChar(mode).c_str())), + fp_(strcmp(DEV_STDIN, filename) == 0 ? + stdin : a2fopen(utf8ToWChar(filename).c_str(), + utf8ToWChar(mode).c_str())), #else // !__MINGW32__ fp_(a2fopen(filename, mode)), #endif // !__MINGW32__ diff --git a/src/GZipFile.cc b/src/GZipFile.cc index fe834271..ed2e4920 100644 --- a/src/GZipFile.cc +++ b/src/GZipFile.cc @@ -49,9 +49,10 @@ GZipFile::GZipFile(const char* filename, const char* mode) { FILE* fp = #ifdef __MINGW32__ - a2fopen(utf8ToWChar(filename).c_str(), utf8ToWChar(mode).c_str()); + strcmp(DEV_STDIN, filename) == 0 ? + stdin : a2fopen(utf8ToWChar(filename).c_str(), utf8ToWChar(mode).c_str()); #else // !__MINGW32__ - a2fopen(filename, mode); + a2fopen(filename, mode); #endif // !__MINGW32__ if (fp) {