static int compose_state = 0;
-static OSVERSIONINFOEX osVersion;
+static OSVERSIONINFO osVersion;
/* Dummy routine, only required in plink. */
void ldisc_update(int echo, int edit)
{
ZeroMemory(&osVersion, sizeof(osVersion));
- osVersion.dwOSVersionInfoSize = sizeof(osVersion);
-
- if(!GetVersionEx ((OSVERSIONINFO *) &osVersion)) {
- // If OSVERSIONINFOEX doesn't work, try OSVERSIONINFO.
-
- osVersion.dwOSVersionInfoSize = sizeof (osVersion);
- if (!GetVersionEx ( (OSVERSIONINFO *) &osVersion))
- return FALSE;
- }
+ osVersion.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);
+ if (!GetVersionEx ( (OSVERSIONINFO *) &osVersion)) {
+ MessageBox(NULL, "Windows refuses to report a version",
+ "PuTTY Fatal Error", MB_OK | MB_ICONEXCLAMATION);
+ return 1;
+ }
}
/*
int msg, events;
if (startup) {
msg = WM_NETEVENT;
- events = FD_READ | FD_WRITE | FD_OOB | FD_CLOSE;
+ events = FD_READ | FD_WRITE | FD_OOB | FD_CLOSE | FD_ACCEPT;
} else {
msg = events = 0;
}
len = TranslateKey(message, wParam, lParam, buf);
if (len == -1)
return DefWindowProc(hwnd, message, wParam, lParam);
+
+ /*
+ * We need not bother about stdin backlogs here,
+ * because in GUI PuTTY we can't do anything about
+ * it anyway; there's no means of asking Windows to
+ * hold off on KEYDOWN messages. We _have_ to
+ * buffer everything we're sent.
+ */
ldisc_send(buf, len);
if (len > 0)
luni_send(&keybuf, 1);
} else {
ch = (char) alt_sum;
+ /*
+ * We need not bother about stdin
+ * backlogs here, because in GUI PuTTY
+ * we can't do anything about it
+ * anyway; there's no means of asking
+ * Windows to hold off on KEYDOWN
+ * messages. We _have_ to buffer
+ * everything we're sent.
+ */
ldisc_send(&ch, 1);
}
alt_sum = 0;