Develop and Download Open Source Software

Browse Subversion Repository

Diff of /branches/ssh_chacha20poly1305/ttssh2/ttxssh/ttxssh.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 6830 by doda, Tue Jul 4 15:01:24 2017 UTC revision 6835 by doda, Tue Jul 4 15:01:42 2017 UTC
# Line 2185  static void PASCAL TTXModifyPopupMenu(HM Line 2185  static void PASCAL TTXModifyPopupMenu(HM
2185          }          }
2186  }  }
2187    
 // 実行ファイルからバージョン情報を得る (2005.2.28 yutaka)  
 void get_file_version(char *exefile, int *major, int *minor, int *release, int *build)  
 {  
         typedef struct {  
                 WORD wLanguage;  
                 WORD wCodePage;  
         } LANGANDCODEPAGE, *LPLANGANDCODEPAGE;  
         LPLANGANDCODEPAGE lplgcode;  
         UINT unLen;  
         DWORD size;  
         char *buf = NULL;  
         BOOL ret;  
         int i;  
         char fmt[80];  
         char *pbuf;  
   
         size = GetFileVersionInfoSize(exefile, NULL);  
         if (size == 0) {  
                 goto error;  
         }  
         buf = malloc(size);  
         ZeroMemory(buf, size);  
   
         if (GetFileVersionInfo(exefile, 0, size, buf) == FALSE) {  
                 goto error;  
         }  
   
         ret = VerQueryValue(buf,  
                         "\\VarFileInfo\\Translation",  
                         (LPVOID *)&lplgcode, &unLen);  
         if (ret == FALSE)  
                 goto error;  
   
         for (i = 0 ; i < (int)(unLen / sizeof(LANGANDCODEPAGE)) ; i++) {  
                 _snprintf_s(fmt, sizeof(fmt), _TRUNCATE,  
                             "\\StringFileInfo\\%04x%04x\\FileVersion",  
                             lplgcode[i].wLanguage, lplgcode[i].wCodePage);  
                 VerQueryValue(buf, fmt, &pbuf, &unLen);  
                 if (unLen > 0) { // get success  
                         int n, a, b, c, d;  
   
                         n = sscanf(pbuf, "%d, %d, %d, %d", &a, &b, &c, &d);  
                         if (n == 4) { // convert success  
                                 *major = a;  
                                 *minor = b;  
                                 *release = c;  
                                 *build = d;  
                                 break;  
                         }  
                 }  
         }  
   
         free(buf);  
         return;  
   
 error:  
         free(buf);  
         *major = *minor = *release = *build = 0;  
 }  
   
2188  static void about_dlg_set_abouttext(PTInstVar pvar, HWND dlg, digest_algorithm dgst_alg)  static void about_dlg_set_abouttext(PTInstVar pvar, HWND dlg, digest_algorithm dgst_alg)
2189  {  {
2190          char buf[1024], buf2[2048];          char buf[1024], buf2[2048];
# Line 2406  static void about_dlg_set_abouttext(PTIn Line 2346  static void about_dlg_set_abouttext(PTIn
2346  static void init_about_dlg(PTInstVar pvar, HWND dlg)  static void init_about_dlg(PTInstVar pvar, HWND dlg)
2347  {  {
2348          char buf[1024];          char buf[1024];
         int a, b, c, d;  
2349          char uimsg[MAX_UIMSG];          char uimsg[MAX_UIMSG];
2350    
2351          GetWindowText(dlg, uimsg, sizeof(uimsg));          GetWindowText(dlg, uimsg, sizeof(uimsg));
# Line 2420  static void init_about_dlg(PTInstVar pva Line 2359  static void init_about_dlg(PTInstVar pva
2359          SetDlgItemText(dlg, IDOK, pvar->ts->UIMsg);          SetDlgItemText(dlg, IDOK, pvar->ts->UIMsg);
2360    
2361          // TTSSHのバージョンを設定する (2005.2.28 yutaka)          // TTSSHのバージョンを設定する (2005.2.28 yutaka)
         get_file_version("ttxssh.dll", &a, &b, &c, &d);  
2362          _snprintf_s(buf, sizeof(buf), _TRUNCATE,          _snprintf_s(buf, sizeof(buf), _TRUNCATE,
2363                      "TTSSH\r\nTera Term Secure Shell extension, %d.%d", a, b);                      "TTSSH\r\nTera Term Secure Shell extension, %d.%d", TTSSH_VERSION_MAJOR, TTSSH_VERSION_MINOR);
2364          SendMessage(GetDlgItem(dlg, IDC_TTSSH_VERSION), WM_SETTEXT, 0, (LPARAM)buf);          SendMessage(GetDlgItem(dlg, IDC_TTSSH_VERSION), WM_SETTEXT, 0, (LPARAM)buf);
2365    
2366          // OpenSSLのバージョンを設定する (2005.1.24 yutaka)          // OpenSSLのバージョンを設定する (2005.1.24 yutaka)

Legend:
Removed from v.6830  
changed lines
  Added in v.6835

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26