some early startup adjustments

This commit is contained in:
nhmall
2018-12-09 13:09:30 -05:00
parent cb191e6a0e
commit 46d2724f58
3 changed files with 23 additions and 4 deletions

View File

@@ -33,6 +33,7 @@ int FDECL(windows_nh_poskey, (int *, int *, int *));
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;
@@ -72,6 +73,9 @@ char *argv[];
*/
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
@@ -311,6 +315,7 @@ _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);*/
/*
* 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.

View File

@@ -53,6 +53,7 @@ static HWND GetConsoleHwnd(void);
#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.
@@ -508,15 +509,28 @@ int code;
* 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;

View File

@@ -527,7 +527,7 @@ stdio_wait_synch()
fprintf(stdout, "--More--");
(void) fflush(stdout);
while (!index(valid, stdio_nhgetch()))
while (!index(valid, nhgetch()))
;
}