~mdw
/
sgt
/
putty
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
`ssh-log-pw-blank': known password fields are now omitted from SSH packet logs
[sgt/putty]
/
winmisc.c
diff --git
a/winmisc.c
b/winmisc.c
index
caafd7d
..
71f09a8
100644
(file)
--- a/
winmisc.c
+++ b/
winmisc.c
@@
-1,12
+1,12
@@
/*
/*
- * winmisc.c: miscellaneous Windows-specific things
.
+ * winmisc.c: miscellaneous Windows-specific things
*/
*/
-#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include "putty.h"
#include <stdio.h>
#include <stdlib.h>
#include "putty.h"
-#include "winstuff.h"
+
+OSVERSIONINFO osVersion;
void platform_get_x11_auth(char *display, int *proto,
unsigned char *data, int *datalen)
void platform_get_x11_auth(char *display, int *proto,
unsigned char *data, int *datalen)
@@
-14,6
+14,8
@@
void platform_get_x11_auth(char *display, int *proto,
/* We don't support this at all under Windows. */
}
/* We don't support this at all under Windows. */
}
+const char platform_x11_best_transport[] = "localhost";
+
Filename filename_from_str(const char *str)
{
Filename ret;
Filename filename_from_str(const char *str)
{
Filename ret;
@@
-37,6
+39,21
@@
int filename_is_null(Filename fn)
return !*fn.path;
}
return !*fn.path;
}
+char *get_username(void)
+{
+ DWORD namelen;
+ char *user;
+
+ namelen = 0;
+ if (GetUserName(NULL, &namelen) == FALSE)
+ return NULL;
+
+ user = snewn(namelen, char);
+ GetUserName(user, &namelen);
+
+ return user;
+}
+
int SaneDialogBox(HINSTANCE hinst,
LPCTSTR tmpl,
HWND hwndparent,
int SaneDialogBox(HINSTANCE hinst,
LPCTSTR tmpl,
HWND hwndparent,
@@
-47,6
+64,7
@@
int SaneDialogBox(HINSTANCE hinst,
MSG msg;
int flags;
int ret;
MSG msg;
int flags;
int ret;
+ int gm;
wc.style = CS_DBLCLKS | CS_SAVEBITS | CS_BYTEALIGNWINDOW;
wc.lpfnWndProc = DefDlgProc;
wc.style = CS_DBLCLKS | CS_SAVEBITS | CS_BYTEALIGNWINDOW;
wc.lpfnWndProc = DefDlgProc;
@@
-65,7
+83,7
@@
int SaneDialogBox(HINSTANCE hinst,
SetWindowLong(hwnd, BOXFLAGS, 0); /* flags */
SetWindowLong(hwnd, BOXRESULT, 0); /* result from SaneEndDialog */
SetWindowLong(hwnd, BOXFLAGS, 0); /* flags */
SetWindowLong(hwnd, BOXRESULT, 0); /* result from SaneEndDialog */
- while (
GetMessage(&msg, NULL, 0, 0)
) {
+ while (
(gm=GetMessage(&msg, NULL, 0, 0)) > 0
) {
flags=GetWindowLong(hwnd, BOXFLAGS);
if (!(flags & DF_END) && !IsDialogMessage(hwnd, &msg))
DispatchMessage(&msg);
flags=GetWindowLong(hwnd, BOXFLAGS);
if (!(flags & DF_END) && !IsDialogMessage(hwnd, &msg))
DispatchMessage(&msg);
@@
-73,6
+91,9
@@
int SaneDialogBox(HINSTANCE hinst,
break;
}
break;
}
+ if (gm == 0)
+ PostQuitMessage(msg.wParam); /* We got a WM_QUIT, pass it on */
+
ret=GetWindowLong(hwnd, BOXRESULT);
DestroyWindow(hwnd);
return ret;
ret=GetWindowLong(hwnd, BOXRESULT);
DestroyWindow(hwnd);
return ret;
@@
-84,6
+105,13
@@
void SaneEndDialog(HWND hwnd, int ret)
SetWindowLong(hwnd, BOXFLAGS, DF_END);
}
SetWindowLong(hwnd, BOXFLAGS, DF_END);
}
+BOOL init_winver(void)
+{
+ ZeroMemory(&osVersion, sizeof(osVersion));
+ osVersion.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);
+ return GetVersionEx ( (OSVERSIONINFO *) &osVersion);
+}
+
#ifdef DEBUG
static FILE *debug_fp = NULL;
static HANDLE debug_hdl = INVALID_HANDLE_VALUE;
#ifdef DEBUG
static FILE *debug_fp = NULL;
static HANDLE debug_hdl = INVALID_HANDLE_VALUE;