#ifdef MSDOS
_fmode = O_BINARY; /* all of files are treated as binary files */
+#if __DJGPP__ > 1
+ if (!isatty (fileno (stdout)))
+ setmode (fileno (stdout), O_BINARY);
+ if (!isatty (fileno (stdin)))
+ setmode (fileno (stdin), O_BINARY);
+#else /* not __DJGPP__ > 1 */
(stdout)->_flag &= ~_IOTEXT;
(stdin)->_flag &= ~_IOTEXT;
+#endif /* not __DJGPP__ > 1 */
#endif
progname = argv[0];
/* We do all file input/output as binary files. When we need to translate
newlines, we do that manually. */
_fmode = O_BINARY;
+
+#if __DJGPP__ >= 2
+ if (!isatty (fileno (stdin)))
+ setmode (fileno (stdin), O_BINARY);
+ if (!isatty (fileno (stdout)))
+ {
+ fflush (stdout);
+ setmode (fileno (stdout), O_BINARY);
+ }
+#else /* not __DJGPP__ >= 2 */
(stdin)->_flag &= ~_IOTEXT;
(stdout)->_flag &= ~_IOTEXT;
(stderr)->_flag &= ~_IOTEXT;
+#endif /* not __DJGPP__ >= 2 */
#endif /* MSDOS */
#ifdef SET_EMACS_PRIORITY
/* Call early 'cause init_environment needs it. */
init_dosfns ();
/* Set defaults for several environment variables. */
- if (initialized) init_environment (argc, argv, skip_args);
- else init_gettimeofday ();
+ if (initialized)
+ init_environment (argc, argv, skip_args);
+ else
+ {
+#if __DGJPP__ >= 2
+ tzset ();
+#else
+ init_gettimeofday ();
#endif
+ }
+#endif /* MSDOS */
#ifdef WINDOWSNT
/* Initialize environment from registry settings. */