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 8906 by zmatsuo, Tue Aug 18 15:31:34 2020 UTC revision 8907 by zmatsuo, Tue Aug 18 15:31:42 2020 UTC
# Line 121  static void LogBinSkip(int add); Line 121  static void LogBinSkip(int add);
121  static BOOL CreateLogBuf(void);  static BOOL CreateLogBuf(void);
122  static BOOL CreateBinBuf(void);  static BOOL CreateBinBuf(void);
123  void LogPut1(BYTE b);  void LogPut1(BYTE b);
124    static void OutputStr(const wchar_t *str);
125    
126  static BOOL OpenFTDlg_(PFileVar fv)  static BOOL OpenFTDlg_(PFileVar fv)
127  {  {
# Line 1201  static INT_PTR CALLBACK OnCommentDlgProc Line 1202  static INT_PTR CALLBACK OnCommentDlgProc
1202                  { 0, "DLG_COMMENT_TITLE" },                  { 0, "DLG_COMMENT_TITLE" },
1203                  { IDOK, "BTN_OK" }                  { IDOK, "BTN_OK" }
1204          };          };
         UINT ret;  
1205    
1206          switch (msg) {          switch (msg) {
1207                  case WM_INITDIALOG:                  case WM_INITDIALOG:
                         //SetDlgItemText(hDlgWnd, IDC_EDIT_COMMENT, "サンプル");  
1208                          // エディットコントロールにフォーカスをあてる                          // エディットコントロールにフォーカスをあてる
1209                          SetFocus(GetDlgItem(hDlgWnd, IDC_EDIT_COMMENT));                          SetFocus(GetDlgItem(hDlgWnd, IDC_EDIT_COMMENT));
1210                          SetDlgTexts(hDlgWnd, TextInfos, _countof(TextInfos), ts.UILanguageFile);                          SetDlgTexts(hDlgWnd, TextInfos, _countof(TextInfos), ts.UILanguageFile);
# Line 1215  static INT_PTR CALLBACK OnCommentDlgProc Line 1214  static INT_PTR CALLBACK OnCommentDlgProc
1214                          switch (LOWORD(wp)) {                          switch (LOWORD(wp)) {
1215                                  case IDOK: {                                  case IDOK: {
1216                                          size_t len = _SendDlgItemMessageW(hDlgWnd, IDC_EDIT_COMMENT, WM_GETTEXTLENGTH, 0, 0);                                          size_t len = _SendDlgItemMessageW(hDlgWnd, IDC_EDIT_COMMENT, WM_GETTEXTLENGTH, 0, 0);
1217                                          wchar_t *buf = (wchar_t *)malloc((len + 1) * sizeof(wchar_t));                                          len += 1;
1218                                            wchar_t *buf = (wchar_t *)malloc(len * sizeof(wchar_t));
1219                                          _GetDlgItemTextW(hDlgWnd, IDC_EDIT_COMMENT, buf, len);                                          _GetDlgItemTextW(hDlgWnd, IDC_EDIT_COMMENT, buf, len);
                                         buf[len] = '\0';  // null-terminate  
1220                                          FLogWriteStr(buf);                                          FLogWriteStr(buf);
1221                                          FLogWriteStr(L"\n");            // TODO 改行コード                                          FLogWriteStr(L"\n");            // TODO 改行コード
1222                                          free(buf);                                          free(buf);
# Line 1228  static INT_PTR CALLBACK OnCommentDlgProc Line 1227  static INT_PTR CALLBACK OnCommentDlgProc
1227                                          return FALSE;                                          return FALSE;
1228                          }                          }
1229                          break;                          break;
1230    
1231                  case WM_CLOSE:                  case WM_CLOSE:
1232                          TTEndDialog(hDlgWnd, 0);                          TTEndDialog(hDlgWnd, 0);
1233                          return TRUE;                          return TRUE;
# Line 1314  BOOL FLogIsOpendBin(void) Line 1314  BOOL FLogIsOpendBin(void)
1314  void FLogWriteStr(const wchar_t *str)  void FLogWriteStr(const wchar_t *str)
1315  {  {
1316          if (LogVar != NULL) {          if (LogVar != NULL) {
1317    #if 0
1318                  DWORD wrote;                  DWORD wrote;
1319                  size_t len = wcslen(str)  * sizeof(wchar_t);                  size_t len = wcslen(str)  * sizeof(wchar_t);
1320                  logfile_lock();                  logfile_lock();
# Line 1323  void FLogWriteStr(const wchar_t *str) Line 1324  void FLogWriteStr(const wchar_t *str)
1324                  LogVar->ByteCount =                  LogVar->ByteCount =
1325                          LogVar->ByteCount + len;                          LogVar->ByteCount + len;
1326                  LogVar->FLogDlg->RefreshNum(LogVar->StartTime, LogVar->FileSize, LogVar->ByteCount);                  LogVar->FLogDlg->RefreshNum(LogVar->StartTime, LogVar->FileSize, LogVar->ByteCount);
1327    #endif
1328                    OutputStr(str);
1329          }          }
1330  }  }
1331    
# Line 1619  void FLogSetCode(int code) Line 1622  void FLogSetCode(int code)
1622          PFileVar fv = LogVar;          PFileVar fv = LogVar;
1623          fv->log_code = code;          fv->log_code = code;
1624  }  }
1625    
1626    static void OutputStr(const wchar_t *str)
1627    {
1628            size_t len;
1629    
1630            assert(str != NULL);
1631    
1632            len = wcslen(str);
1633            while(*str != 0) {
1634                    unsigned int u32;
1635                    size_t u16_len = UTF16ToUTF32(str, len, &u32);
1636                    switch (u16_len) {
1637                    case 0:
1638                    default:
1639                            // 変換できない
1640                            str++;
1641                            len--;
1642                            break;
1643                    case 1:
1644                    case 2: {
1645                            FLogPutUTF32(u32);
1646                            str += u16_len;
1647                            len -= u16_len;
1648                            break;
1649                    }
1650                    }
1651            }
1652    }

Legend:
Removed from v.8906  
changed lines
  Added in v.8907

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