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 8907 by zmatsuo, Tue Aug 18 15:31:42 2020 UTC revision 8908 by zmatsuo, Tue Aug 18 15:31:51 2020 UTC
# Line 122  static BOOL CreateLogBuf(void); Line 122  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);  static void OutputStr(const wchar_t *str);
125    static void LogToFile(void);
126    
127  static BOOL OpenFTDlg_(PFileVar fv)  static BOOL OpenFTDlg_(PFileVar fv)
128  {  {
# Line 760  static BOOL LogStart(const wchar_t *fnam Line 761  static BOOL LogStart(const wchar_t *fnam
761                  StartThread(LogVar);                  StartThread(LogVar);
762          }          }
763    
         // 現在バッファにあるデータをすべて書き出してから、  
         // ログ採取を開始する。  
         // (2013.9.29 yutaka)  
         if (ts.LogAllBuffIncludedInFirst) {  
                 DWORD ofs, size, written_size;  
                 char buf[512];  
                 const char *crlf = "\r\n";  
                 DWORD crlf_len = 2;  
                 for (ofs = 0 ;  ; ofs++ ) {  
                         // 1つの行を取得する。文字だけなので、エスケープシーケンスは含まれない。  
                         size = BuffGetAnyLineData(ofs, buf, sizeof(buf));  
                         if (size == -1)  
                                 break;  
   
 #if 0  
                         if (ts.DeferredLogWriteMode) { // 遅延書き込み  
                                 char *pbuf = (char *)malloc(size + 2);  
                                 memcpy(pbuf, buf, size);  
                                 pbuf[size] = '\r';  
                                 pbuf[size+1] = '\n';  
                                 Sleep(1);  // スレッドキューが作られるように、コンテキストスイッチを促す。  
                                 PostThreadMessage(LogVar->LogThreadId, WM_DPC_LOGTHREAD_SEND, (WPARAM)pbuf, size + 2);  
                         } else { // 直書き。ネットワーク経由だと遅い。  
 #endif  
                                 WriteFile(LogVar->FileHandle, buf, size, &written_size, NULL);  
                                 WriteFile(LogVar->FileHandle, crlf, crlf_len, &written_size, NULL);  
 #if 0  
                         }  
 #endif  
                 }  
         }  
   
764          if (FileLog) {          if (FileLog) {
765                  cv.Log1Byte = LogPut1;                  cv.Log1Byte = LogPut1;
766          }          }
# Line 804  static BOOL LogStart(const wchar_t *fnam Line 773  static BOOL LogStart(const wchar_t *fnam
773  }  }
774    
775  /**  /**
776     * 現在バッファにあるデータをすべてログに書き出す
777     * (2013.9.29 yutaka)
778     *
779     *      TODO
780     *              1行の長さ
781     */
782    void FLogOutputAllBuffer(void)
783    {
784            DWORD ofs, written_size;
785            int size;
786            wchar_t buf[512];
787            for (ofs = 0 ;  ; ofs++ ) {
788                    // 1つの行を取得する。文字だけなので、エスケープシーケンスは含まれない。
789                    size = BuffGetAnyLineDataW(ofs, buf, _countof(buf));
790                    if (size == -1)
791                            break;
792    
793                    OutputStr(buf);
794                    OutputStr(L"\r\n");
795                    LogToFile();
796            }
797    }
798    
799    /**
800   * ログへ1byte書き込み   * ログへ1byte書き込み
801   *              バッファへ書き込まれる   *              バッファへ書き込まれる
802   *              実際の書き込みは LogToFile() で行われる   *              実際の書き込みは LogToFile() で行われる
# Line 1604  void FLogOutputBOM(void) Line 1597  void FLogOutputBOM(void)
1597                  break;                  break;
1598          case 1:          case 1:
1599                  // UTF-16LE                  // UTF-16LE
                 LogPut1(0xfe);  
1600                  LogPut1(0xff);                  LogPut1(0xff);
1601                    LogPut1(0xfe);
1602                  break;                  break;
1603          case 2:          case 2:
1604                  // UTF-16BE                  // UTF-16BE
                 LogPut1(0xff);  
1605                  LogPut1(0xfe);                  LogPut1(0xfe);
1606                    LogPut1(0xff);
1607                  break;                  break;
1608          default:          default:
1609                  break;                  break;

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

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