For some unknown reason fopen("con", "w") is the
only way to make this work. Using "r+" and "w+"
causes the fopen call to fail and the fallback
(using stdin) doesn't work because writing to stdin
fails.
is_a_tty = 1;
#ifdef OPENSSL_SYS_MSDOS
- if ((tty=fopen("con","w+")) == NULL)
+ /* For some bizarre reason this call to fopen() on Windows
+ * fails if the mode is "w+" or "r+", whereas "w" works fine.
+ */
+ if ((tty=fopen("con","w")) == NULL)
tty=stdin;
#elif defined(OPENSSL_SYS_MACINTOSH_CLASSIC)
tty=stdin;