Develop and Download Open Source Software

Browse Subversion Repository

Diff of /trunk/teraterm/teraterm/filesys_log.cpp

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

revision 8904 by zmatsuo, Tue Aug 18 15:31:14 2020 UTC revision 8905 by zmatsuo, Tue Aug 18 15:31:25 2020 UTC
# Line 114  static void Log1Bin(BYTE b); Line 114  static void Log1Bin(BYTE b);
114  static void LogBinSkip(int add);  static void LogBinSkip(int add);
115  static BOOL CreateLogBuf(void);  static BOOL CreateLogBuf(void);
116  static BOOL CreateBinBuf(void);  static BOOL CreateBinBuf(void);
117    void LogPut1(BYTE b);
118    
119  static BOOL OpenFTDlg_(PFileVar fv)  static BOOL OpenFTDlg_(PFileVar fv)
120  {  {
# Line 852  static inline void logfile_unlock(void) Line 852  static inline void logfile_unlock(void)
852          LeaveCriticalSection(&g_filelog_lock);          LeaveCriticalSection(&g_filelog_lock);
853  }  }
854    
  // コメントをログへ追加する  
 static void CommentLogToFile(char *buf, int size)  
 {  
         DWORD wrote;  
   
         if (LogVar == NULL) {  
                 char uimsg[MAX_UIMSG];  
                 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);  
                 get_lang_msg("MSG_COMMENT_LOG_OPEN_ERROR", ts.UIMsg, sizeof(ts.UIMsg),  
                              "It is not opened by the log file yet.", ts.UILanguageFile);  
                 ::MessageBox(NULL, ts.UIMsg, uimsg, MB_OK|MB_ICONEXCLAMATION);  
                 return;  
         }  
   
         logfile_lock();  
         WriteFile(LogVar->FileHandle, buf, size, &wrote, NULL);  
         WriteFile(LogVar->FileHandle, "\r\n", 2, &wrote, NULL); // 改行  
         /* Set Line End Flag  
                 2007.05.24 Gentaro  
         */  
         LogVar->eLineEnd = Line_LineHead;  
         logfile_unlock();  
 }  
   
855  // ログをローテートする。  // ログをローテートする。
856  // (2013.3.21 yutaka)  // (2013.3.21 yutaka)
857  static void LogRotate(void)  static void LogRotate(void)
# Line 1244  static INT_PTR CALLBACK OnCommentDlgProc Line 1220  static INT_PTR CALLBACK OnCommentDlgProc
1220                  case WM_COMMAND:                  case WM_COMMAND:
1221                          switch (LOWORD(wp)) {                          switch (LOWORD(wp)) {
1222                                  case IDOK: {                                  case IDOK: {
1223                                          char buf[256];                                          size_t len = _SendDlgItemMessageW(hDlgWnd, IDC_EDIT_COMMENT, WM_GETTEXTLENGTH, 0, 0);
1224                                          memset(buf, 0, sizeof(buf));                                          wchar_t *buf = (wchar_t *)malloc((len + 1) * sizeof(wchar_t));
1225                                          ret = GetDlgItemTextA(hDlgWnd, IDC_EDIT_COMMENT, buf, sizeof(buf) - 1);                                          _GetDlgItemTextW(hDlgWnd, IDC_EDIT_COMMENT, buf, len);
1226                                          if (ret > 0) { // テキスト取得成功                                          buf[len] = '\0';  // null-terminate
1227                                                  //buf[sizeof(buf) - 1] = '\0';  // null-terminate                                          FLogWriteStr(buf);
1228                                                  CommentLogToFile(buf, ret);                                          FLogWriteStr(L"\n");            // TODO 改行コード
1229                                          }                                          free(buf);
1230                                          TTEndDialog(hDlgWnd, IDOK);                                          TTEndDialog(hDlgWnd, IDOK);
1231                                          break;                                          break;
1232                                  }                                  }
# Line 1268  static INT_PTR CALLBACK OnCommentDlgProc Line 1244  static INT_PTR CALLBACK OnCommentDlgProc
1244          return TRUE;          return TRUE;
1245  }  }
1246    
1247    /**
1248     * ログファイルへコメントを追加する (2004.8.6 yutaka)
1249     */
1250  void FLogAddCommentDlg(HINSTANCE hInst, HWND hWnd)  void FLogAddCommentDlg(HINSTANCE hInst, HWND hWnd)
1251  {  {
1252          // ログファイルへコメントを追加する (2004.8.6 yutaka)          if (LogVar == NULL) {
1253                    return;
1254            }
1255          TTDialogBox(hInst, MAKEINTRESOURCE(IDD_COMMENT_DIALOG),          TTDialogBox(hInst, MAKEINTRESOURCE(IDD_COMMENT_DIALOG),
1256                                  HVTWin, OnCommentDlgProc);                                  HVTWin, OnCommentDlgProc);
1257  }  }
# Line 1336  BOOL FLogIsOpendBin(void) Line 1317  BOOL FLogIsOpendBin(void)
1317          return LogVar != NULL && BinLog;          return LogVar != NULL && BinLog;
1318  }  }
1319    
1320  void FLogWriteStr(const char *str)  void FLogWriteStr(const wchar_t *str)
1321  {  {
1322          if (LogVar != NULL)          if (LogVar != NULL) {
         {  
1323                  DWORD wrote;                  DWORD wrote;
1324                  size_t len = strlen(str);                  size_t len = wcslen(str)  * sizeof(wchar_t);
1325                    logfile_lock();
1326                  WriteFile(LogVar->FileHandle, str, len, &wrote, NULL);                  WriteFile(LogVar->FileHandle, str, len, &wrote, NULL);
1327                    LogVar->eLineEnd = Line_LineHead;
1328                    logfile_unlock();
1329                  LogVar->ByteCount =                  LogVar->ByteCount =
1330                          LogVar->ByteCount + len;                          LogVar->ByteCount + len;
1331                  LogVar->FLogDlg->RefreshNum(LogVar->StartTime, LogVar->FileSize, LogVar->ByteCount);                  LogVar->FLogDlg->RefreshNum(LogVar->StartTime, LogVar->FileSize, LogVar->ByteCount);
# Line 1562  void FLogPutUTF32(unsigned int u32) Line 1545  void FLogPutUTF32(unsigned int u32)
1545          BOOL log_available = (cv.HLogBuf != 0);          BOOL log_available = (cv.HLogBuf != 0);
1546    
1547          if (!log_available) {          if (!log_available) {
1548                  // ログには出力しない(macro出力だけだった)                  // ログには出力しない
1549                  return;                  return;
1550          }          }
1551    

Legend:
Removed from v.8904  
changed lines
  Added in v.8905

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