Develop and Download Open Source Software

Browse Subversion Repository

Diff of /trunk/teraterm/ttpcmn/ttcmn.c

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

revision 9499 by zmatsuo, Sat Oct 23 16:09:57 2021 UTC revision 9501 by zmatsuo, Wed Oct 27 12:48:49 2021 UTC
# Line 109  void WINAPI CopyTTSetToShmem(PTTSet ts) Line 109  void WINAPI CopyTTSetToShmem(PTTSet ts)
109          memcpy(&pm->ts, ts, sizeof(TTTSet));          memcpy(&pm->ts, ts, sizeof(TTTSet));
110  }  }
111    
 static wchar_t* GetLogDirW()  
 {  
         wchar_t *local_app_data;  
         wchar_t *log;  
         _SHGetKnownFolderPath(&FOLDERID_LocalAppData, 0, NULL, &local_app_data);  
         aswprintf(&log, L"%s\\%s", local_app_data, L"teraterm5");  
         free(local_app_data);  
         CreateDirectoryW(log, NULL);  
         return log;  
 }  
   
112  BOOL WINAPI StartTeraTerm(PTTSet ts)  BOOL WINAPI StartTeraTerm(PTTSet ts)
113  {  {
114          if (FirstInstance) {          if (FirstInstance) {
# Line 139  BOOL WINAPI StartTeraTerm(PTTSet ts) Line 128  BOOL WINAPI StartTeraTerm(PTTSet ts)
128          // if (FirstInstance) { の部分から移動 (2008.3.13 maya)          // if (FirstInstance) { の部分から移動 (2008.3.13 maya)
129          // 起動時には、共有メモリの HomeDir と SetupFName は空になる          // 起動時には、共有メモリの HomeDir と SetupFName は空になる
130          /* Get home directory (ttermpro.exeのフォルダ) */          /* Get home directory (ttermpro.exeのフォルダ) */
131          ts->ExeDirW = GetHomeDirW(hInst);          ts->ExeDirW = GetExeDirW(hInst);
132    
133            // LogDir
134          ts->LogDirW = GetLogDirW();          ts->LogDirW = GetLogDirW();
135            CreateDirectoryW(ts->LogDirW, NULL);
136    
137            // HomeDir
138          ts->HomeDirW = GetHomeDirW(hInst);          ts->HomeDirW = GetHomeDirW(hInst);
139          WideCharToACP_t(ts->HomeDirW, ts->HomeDir, _countof(ts->HomeDir));          WideCharToACP_t(ts->HomeDirW, ts->HomeDir, _countof(ts->HomeDir));
140          SetCurrentDirectoryW(ts->HomeDirW);          CreateDirectoryW(ts->HomeDirW, NULL);
141            SetCurrentDirectoryW(ts->HomeDirW);             // TODO 必要??
142    
143    #if 1
144            {
145                    // TERATERM.INI のフルパス
146                    wchar_t *setup = NULL;
147                    awcscats(&setup, ts->HomeDirW, L"\\TERATERM.INI", NULL);
148    
149                    // ファイルある?
150                    if (GetFileAttributesW(setup) == INVALID_FILE_ATTRIBUTES) {
151                            // exeフォルダからコピーする
152                            wchar_t *src_ini = NULL;
153                            awcscats(&src_ini, ts->ExeDirW, L"\\TERATERM.INI", NULL);
154                            CopyFileW(src_ini, setup, TRUE);
155                            free(src_ini);
156                    }
157    
158                    ts->SetupFNameW = setup;
159            }
160    #else
161          ts->SetupFNameW = GetDefaultSetupFNameW(ts->HomeDirW);          ts->SetupFNameW = GetDefaultSetupFNameW(ts->HomeDirW);
162    #endif
163          WideCharToACP_t(ts->SetupFNameW, ts->SetupFName, _countof(ts->SetupFName));          WideCharToACP_t(ts->SetupFNameW, ts->SetupFName, _countof(ts->SetupFName));
164    
165    #if 1
166            {
167                    // KEYBOARD.CNF のフルパス
168                    wchar_t *keycnf = NULL;
169                    awcscats(&keycnf, ts->HomeDirW, L"\\KEYBOARD.CNF", NULL);
170    
171                    // ファイルある?
172                    if (GetFileAttributesW(keycnf) == INVALID_FILE_ATTRIBUTES) {
173                            // exeフォルダからコピーする
174                            wchar_t *src_ini = NULL;
175                            awcscats(&src_ini, ts->ExeDirW, L"\\KEYBOARD.CNF", NULL);
176                            CopyFileW(src_ini, keycnf, TRUE);
177                            free(src_ini);
178                    }
179    
180                    ts->KeyCnfFNW = keycnf;
181            }
182    #else
183          ts->KeyCnfFNW = GetDefaultFNameW(ts->HomeDirW, L"KEYBOARD.CNF");          ts->KeyCnfFNW = GetDefaultFNameW(ts->HomeDirW, L"KEYBOARD.CNF");
184    #endif
185          WideCharToACP_t(ts->KeyCnfFNW, ts->KeyCnfFN, _countof(ts->KeyCnfFN));          WideCharToACP_t(ts->KeyCnfFNW, ts->KeyCnfFN, _countof(ts->KeyCnfFN));
186    
187          if (FirstInstance) {          if (FirstInstance) {

Legend:
Removed from v.9499  
changed lines
  Added in v.9501

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