diff --git a/xtrn/sdk/xsdk.c b/xtrn/sdk/xsdk.c index 8d3b01c0313b88c6a64adb30078abae497939e13..b61b049df52bd31813237f437418c6f43f4ef9ee 100644 --- a/xtrn/sdk/xsdk.c +++ b/xtrn/sdk/xsdk.c @@ -204,6 +204,13 @@ programs. Use atexit() to add cleanup code. 3.01 Eliminated warnings in ctrl_a() when compiled with VC++ 6.0. + Added Linux/GCC support (xsdkwrap.c, xsdkwrap.h, and xsdkinet.h) + 3.10 + Added COMPILER_DESC and PLATFORM_DESC macros to xsdkwrap.h + Added support for no local console (XSDK_MODE_NOCONSOLE) + - This is now the default mode when building 32-bit programs + Eliminated use of ungetch() in favor of ungetkey() - more secure + 3.11 \****************************************************************************/ @@ -213,15 +220,9 @@ WSADATA WSAData; // WinSock data #endif -char *xsdk_ver="3.10"; +char *xsdk_ver="3.11"; ulong xsdk_mode=XSDK_MODE_NOCONSOLE; -#ifndef __16BIT__ /* Sockets */ - -SOCKET client_socket=INVALID_SOCKET; - -#endif - /****************************************************************************/ /* This allows users to abort the listing of text by using Ctrl-C */ /****************************************************************************/ @@ -559,7 +560,7 @@ char inkey(long mode) ch=keybuf[keybufbot++]; if(keybufbot==KEY_BUFSIZE) keybufbot=0; } - else if(kbhit()) { + else if(!(xsdk_mode&XSDK_MODE_NOCONSOLE) && kbhit()) { i=getch(); #ifdef __unix__ if(i==LF) i=CR; /* Enter key returns Ctrl-J on Unix! (ohmygod) */ @@ -1151,7 +1152,7 @@ int getstr(char *strout, size_t maxlen, long mode) if(!(user_misc&ANSI)) break; if((ch=getkey(0x8000))!='[') { - ungetch(ch); + ungetkey(ch); break; } if((ch=getkey(0x8000))=='C') { @@ -1174,7 +1175,7 @@ int getstr(char *strout, size_t maxlen, long mode) } ch=getkey(0); } - ungetch(ch); + ungetkey(ch); } break; default: @@ -1635,6 +1636,7 @@ void initdata(void) #ifdef _WINSOCKAPI_ WSAStartup(MAKEWORD(1,1), &WSAData); + client_socket=INVALID_SOCKET; #endif #ifdef __WATCOMC__