*/
static int CALLBACK PassphraseProc(HWND hwnd, UINT msg,
WPARAM wParam, LPARAM lParam) {
- static char *passphrase;
+ static char *passphrase = NULL;
struct PassphraseProcStruct *p;
switch (msg) {
if (p->comment)
SetDlgItemText(hwnd, 101, p->comment);
*passphrase = 0;
+ SetDlgItemText (hwnd, 102, passphrase);
return 0;
case WM_COMMAND:
switch (LOWORD(wParam)) {
EndDialog (hwnd, 0);
return 0;
case 102: /* edit box */
- if (HIWORD(wParam) == EN_CHANGE) {
+ if ((HIWORD(wParam) == EN_CHANGE) && passphrase) {
GetDlgItemText (hwnd, 102, passphrase, PASSPHRASE_MAXLEN-1);
passphrase[PASSPHRASE_MAXLEN-1] = '\0';
}
BEGIN
CTEXT "Enter passphrase for key", 100, 10, 6, 120, 8
CTEXT "", 101, 10, 16, 120, 8
- EDITTEXT 102, 10, 26, 120, 12, ES_PASSWORD
+ EDITTEXT 102, 10, 26, 120, 12, ES_PASSWORD | ES_AUTOHSCROLL
DEFPUSHBUTTON "O&K", IDOK, 20, 42, 40, 14
PUSHBUTTON "&Cancel", IDCANCEL, 80, 42, 40, 14
END
*/
static int CALLBACK PassphraseProc(HWND hwnd, UINT msg,
WPARAM wParam, LPARAM lParam) {
- static char *passphrase;
+ static char *passphrase = NULL;
struct PassphraseProcStruct *p;
switch (msg) {
if (p->comment)
SetDlgItemText(hwnd, 101, p->comment);
*passphrase = 0;
+ SetDlgItemText(hwnd, 102, passphrase);
return 0;
case WM_COMMAND:
switch (LOWORD(wParam)) {
EndDialog (hwnd, 0);
return 0;
case 102: /* edit box */
- if (HIWORD(wParam) == EN_CHANGE) {
+ if ((HIWORD(wParam) == EN_CHANGE) && passphrase) {
GetDlgItemText (hwnd, 102, passphrase, PASSPHRASE_MAXLEN-1);
passphrase[PASSPHRASE_MAXLEN-1] = '\0';
}
BEGIN
CTEXT "Enter passphrase for key", 100, 10, 6, 120, 8
CTEXT "", 101, 10, 16, 120, 8
- EDITTEXT 102, 10, 26, 120, 12, ES_PASSWORD
+ EDITTEXT 102, 10, 26, 120, 12, ES_PASSWORD | ES_AUTOHSCROLL
DEFPUSHBUTTON "O&K", IDOK, 20, 42, 40, 14
PUSHBUTTON "&Cancel", IDCANCEL, 80, 42, 40, 14
END