int argc = 0;
wchar_t** wargv = ::CommandLineToArgvW(::GetCommandLineW(), &argc);
- // Attach to the parent console if we've got one so that stdio works
- AttachConsole(ATTACH_PARENT_PROCESS);
+ scoped_ptr<base::Environment> env(base::Environment::Create());
- FILE* dontcare;
- freopen_s(&dontcare, "CON", "w", stdout);
- freopen_s(&dontcare, "CON", "w", stderr);
- freopen_s(&dontcare, "CON", "r", stdin);
+ // Make output work in console if we are not in cygiwn.
+ std::string os;
+ if (env->GetVar("OS", &os) && os != "cygwin") {
+ AttachConsole(ATTACH_PARENT_PROCESS);
+
+ FILE* dontcare;
+ freopen_s(&dontcare, "CON", "w", stdout);
+ freopen_s(&dontcare, "CON", "w", stderr);
+ freopen_s(&dontcare, "CON", "r", stdin);
+ }
- scoped_ptr<base::Environment> env(base::Environment::Create());
std::string node_indicator;
if (env->GetVar("ATOM_SHELL_INTERNAL_RUN_AS_NODE", &node_indicator) &&
node_indicator == "1") {