void FDECL(windows_raw_print, (const char *));
char FDECL(windows_yn_function, (const char *, const char *, CHAR_P));
void FDECL(windows_getlin, (const char *, char *));
+extern int NDECL(windows_console_custom_nhgetch);
char orgdir[PATHLEN];
boolean getreturn_enabled;
*/
if (!WINDOWPORT("safe-startup"))
windowprocs = *get_safe_procs(1);
+ if (!GUILaunched)
+ windowprocs.win_nhgetch = windows_console_custom_nhgetch;
+
sys_early_init();
#ifdef _MSC_VER
# ifdef DEBUG
/*
* It seems you really want to play.
*/
+
/* In 3.6.0, several ports process options before they init
* the window port. This allows settings that impact window
* ports to be specified or read from the sys or user config files.
#if !defined(TTY_GRAPHICS)
extern void NDECL(backsp);
#endif
+int NDECL(windows_console_custom_nhgetch);
/* The function pointer nt_kbhit contains a kbhit() equivalent
* which varies depending on which window port is active.
* GUILaunched is defined and set in nttty.c.
*/
- if (GUILaunched)
- getreturn_enabled = TRUE;
- else
+
+ if (!GUILaunched) {
windowprocs = *get_safe_procs(1);
+ /* use our custom version which works
+ a little cleaner than the stdio one */
+ windowprocs.win_nhgetch = windows_console_custom_nhgetch;
+ }
if (getreturn_enabled)
wait_synch();
exit(code);
}
+#undef kbhit
+#include <conio.h>
+
+int
+windows_console_custom_nhgetch(VOID_ARGS)
+{
+ return _getch();
+}
+
+
void
getreturn(str)
const char *str;
fprintf(stdout, "--More--");
(void) fflush(stdout);
- while (!index(valid, stdio_nhgetch()))
+ while (!index(valid, nhgetch()))
;
}