* callback function for the Help button.
*/
mbox.cbSize = sizeof(mbox);
+ mbox.hInstance = hinst;
mbox.hwndOwner = hwnd;
mbox.lpfnMsgBoxCallback = &verify_ssh_host_key_help;
mbox.dwLanguageId = LANG_NEUTRAL;
mbox.dwStyle = MB_ICONWARNING | MB_YESNOCANCEL | MB_DEFBUTTON3 |
help_button;
mbret = MessageBoxIndirect(&mbox);
+ assert(mbret==IDYES || mbret==IDNO || mbret==IDCANCEL);
sfree((void *)mbox.lpszText);
sfree((void *)mbox.lpszCaption);
- if (mbret == IDYES)
+ if (mbret == IDYES) {
store_host_key(host, port, keytype, keystr);
- if (mbret == IDCANCEL)
- return 0;
- return 1;
+ return 1;
+ } else if (mbret == IDNO)
+ return 1;
+ return 0;
}
if (ret == 1) { /* key was absent */
int mbret;
mbox.dwStyle = MB_ICONWARNING | MB_YESNOCANCEL | MB_DEFBUTTON3 |
help_button;
mbret = MessageBoxIndirect(&mbox);
+ assert(mbret==IDYES || mbret==IDNO || mbret==IDCANCEL);
sfree((void *)mbox.lpszText);
sfree((void *)mbox.lpszCaption);
if (mbret == IDYES)
store_host_key(host, port, keytype, keystr);
- if (mbret == IDCANCEL)
- return 0;
- return 1;
+ if (mbret == IDNO)
+ return 1;
+ return 0;
}
}
* Ask whether to wipe a session log file before writing to it.
* Returns 2 for wipe, 1 for append, 0 for cancel (don't log).
*/
-int askappend(void *frontend, Filename filename)
+int askappend(void *frontend, Filename filename,
+ void (*callback)(void *ctx, int result), void *ctx)
{
static const char msgtemplate[] =
"The session log file \"%.*s\" already exists.\n"