From: jacob Date: Wed, 16 Feb 2005 01:47:10 +0000 (+0000) Subject: Minor reorganisations to WinHelp support. (Done as part of a - failed - X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/commitdiff_plain/a9dc49af0a2d35e897d1e4db25c4465667f5f6e3 Minor reorganisations to WinHelp support. (Done as part of a - failed - attempt to fix `winhelp-crash', but we may as well keep them.) git-svn-id: svn://svn.tartarus.org/sgt/putty@5314 cda61777-01e9-0310-a592-d414129be87e --- diff --git a/windows/window.c b/windows/window.c index 98b35105..9d213c7a 100644 --- a/windows/window.c +++ b/windows/window.c @@ -340,13 +340,13 @@ int WINAPI WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show) if (p && p >= r) r = p+1; q = strrchr(b, ':'); if (q && q >= r) r = q+1; - strcpy(r, "putty.hlp"); + strcpy(r, PUTTY_HELP_FILE); if ( (fp = fopen(b, "r")) != NULL) { help_path = dupstr(b); fclose(fp); } else help_path = NULL; - strcpy(r, "putty.cnt"); + strcpy(r, PUTTY_HELP_CONTENTS); if ( (fp = fopen(b, "r")) != NULL) { help_has_contents = TRUE; fclose(fp); diff --git a/windows/winpgen.c b/windows/winpgen.c index 7772f55a..7ba88d2a 100644 --- a/windows/winpgen.c +++ b/windows/winpgen.c @@ -1340,50 +1340,52 @@ static int CALLBACK MainDlgProc(HWND hwnd, UINT msg, case WM_HELP: if (help_path) { int id = ((LPHELPINFO)lParam)->iCtrlId; - char *cmd = NULL; + char *topic = NULL; switch (id) { case IDC_GENERATING: case IDC_PROGRESS: case IDC_GENSTATIC: case IDC_GENERATE: - cmd = "JI(`',`puttygen.generate')"; break; + topic = "puttygen.generate"; break; case IDC_PKSTATIC: case IDC_KEYDISPLAY: - cmd = "JI(`',`puttygen.pastekey')"; break; + topic = "puttygen.pastekey"; break; case IDC_FPSTATIC: case IDC_FINGERPRINT: - cmd = "JI(`',`puttygen.fingerprint')"; break; + topic = "puttygen.fingerprint"; break; case IDC_COMMENTSTATIC: case IDC_COMMENTEDIT: - cmd = "JI(`',`puttygen.comment')"; break; + topic = "puttygen.comment"; break; case IDC_PASSPHRASE1STATIC: case IDC_PASSPHRASE1EDIT: case IDC_PASSPHRASE2STATIC: case IDC_PASSPHRASE2EDIT: - cmd = "JI(`',`puttygen.passphrase')"; break; + topic = "puttygen.passphrase"; break; case IDC_LOADSTATIC: case IDC_LOAD: - cmd = "JI(`',`puttygen.load')"; break; + topic = "puttygen.load"; break; case IDC_SAVESTATIC: case IDC_SAVE: - cmd = "JI(`',`puttygen.savepriv')"; break; + topic = "puttygen.savepriv"; break; case IDC_SAVEPUB: - cmd = "JI(`',`puttygen.savepub')"; break; + topic = "puttygen.savepub"; break; case IDC_TYPESTATIC: case IDC_KEYSSH1: case IDC_KEYSSH2RSA: case IDC_KEYSSH2DSA: - cmd = "JI(`',`puttygen.keytype')"; break; + topic = "puttygen.keytype"; break; case IDC_BITSSTATIC: case IDC_BITS: - cmd = "JI(`',`puttygen.bits')"; break; + topic = "puttygen.bits"; break; case IDC_IMPORT: case IDC_EXPORT_OPENSSH: case IDC_EXPORT_SSHCOM: - cmd = "JI(`',`puttygen.conversions')"; break; + topic = "puttygen.conversions"; break; } - if (cmd) { + if (topic) { + char *cmd = dupprintf("JI(`',`%s')", topic); WinHelp(hwnd, help_path, HELP_COMMAND, (DWORD)cmd); + sfree(cmd); requested_help = TRUE; } else { MessageBeep(0); @@ -1435,7 +1437,7 @@ int WINAPI WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show) if (p && p >= r) r = p+1; q = strrchr(b, ':'); if (q && q >= r) r = q+1; - strcpy(r, "putty.hlp"); + strcpy(r, PUTTY_HELP_FILE); if ( (fp = fopen(b, "r")) != NULL) { help_path = dupstr(b); fclose(fp); diff --git a/windows/winpgnt.c b/windows/winpgnt.c index 209c7c69..9f43bbf7 100644 --- a/windows/winpgnt.c +++ b/windows/winpgnt.c @@ -1608,14 +1608,16 @@ static int CALLBACK KeyListProc(HWND hwnd, UINT msg, case WM_HELP: if (help_path) { int id = ((LPHELPINFO)lParam)->iCtrlId; - char *cmd = NULL; + char *topic = NULL; switch (id) { - case 100: cmd = "JI(`',`pageant.keylist')"; break; - case 101: cmd = "JI(`',`pageant.addkey')"; break; - case 102: cmd = "JI(`',`pageant.remkey')"; break; + case 100: topic = "pageant.keylist"; break; + case 101: topic = "pageant.addkey"; break; + case 102: topic = "pageant.remkey"; break; } - if (cmd) { + if (topic) { + char *cmd = dupprintf("JI(`',`%s')", topic); WinHelp(main_hwnd, help_path, HELP_COMMAND, (DWORD)cmd); + sfree(cmd); requested_help = TRUE; } else { MessageBeep(0); @@ -2036,7 +2038,7 @@ int WINAPI WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show) if (p && p >= r) r = p+1; q = strrchr(b, ':'); if (q && q >= r) r = q+1; - strcpy(r, "putty.hlp"); + strcpy(r, PUTTY_HELP_FILE); if ( (fp = fopen(b, "r")) != NULL) { help_path = dupstr(b); fclose(fp); diff --git a/windows/winstuff.h b/windows/winstuff.h index fbc9e5f6..5b44d6a1 100644 --- a/windows/winstuff.h +++ b/windows/winstuff.h @@ -57,6 +57,9 @@ typedef struct terminal_tag Terminal; #define PUTTY_REG_GPARENT "Software" #define PUTTY_REG_GPARENT_CHILD "SimonTatham" +#define PUTTY_HELP_FILE "putty.hlp" +#define PUTTY_HELP_CONTENTS "putty.cnt" + #define GETTICKCOUNT GetTickCount #define CURSORBLINK GetCaretBlinkTime() #define TICKSPERSEC 1000 /* GetTickCount returns milliseconds */