MCPcopy Create free account
hub / github.com/WinMerge/winmerge / DoFile

Method DoFile

Src/ConfigLog.cpp:318–470  ·  view source on GitHub ↗

* @brief Write logfile */

Source from the content-addressed store, hash-verified

316 * @brief Write logfile
317 */
318bool CConfigLog::DoFile(String &sError)
319{
320 CVersionInfo version;
321 String text;
322
323 String sFileName = paths::ConcatPath(GetOptionsMgr()->GetInt(OPT_USERDATA_LOCATION) == 0 ? env::GetAppDataPath() : env::GetMyDocuments(), WinMergeUserDataFolder);
324 paths::CreateIfNeeded(sFileName);
325 m_sFileName = paths::ConcatPath(sFileName, _T("WinMerge.txt"));
326
327 if (!m_pfile->OpenCreateUtf8(m_sFileName))
328 {
329 m_sFileName = paths::ConcatPath(env::GetTemporaryPath(), _T("WinMerge.txt"));
330 if (!m_pfile->OpenCreateUtf8(m_sFileName))
331 {
332 const UniFile::UniError& err = m_pfile->GetLastUniError();
333 sError = err.GetError();
334 return false;
335 }
336 }
337 m_pfile->SetBom(true);
338 m_pfile->WriteBom();
339
340// Begin log
341 FileWriteString(_T("WinMerge Configuration Log\r\n"));
342 FileWriteString(_T("--------------------------\r\n"));
343 FileWriteString(_T("\r\nLog Saved to: "));
344 FileWriteString(maskUserNameInPath(m_sFileName));
345 FileWriteString(_T("\r\n >> >> Please add this information (or attach this file) when reporting bugs << <<"));
346
347// Platform stuff
348
349 FileWriteString(_T("\r\n\r\nWindows Info: "));
350 text = GetWindowsVer();
351 FileWriteString(text);
352 text = GetProcessorInfo();
353 if (!text.empty())
354 {
355 FileWriteString(_T("\r\n Processor: "));
356 FileWriteString(text);
357 }
358
359// WinMerge stuff
360
361 FileWriteString(_T("\r\n\r\nWinMerge Info:"));
362 String sEXEFullFileName = paths::GetLongPath(version.GetFullFileName(), false);
363 FileWriteString(_T("\r\n Code File: "));
364 FileWriteString(maskUserNameInPath(sEXEFullFileName));
365
366 FileWriteString(_T("\r\n Version: "));
367 FileWriteString(version.GetProductVersion());
368 String privBuild = version.GetPrivateBuild();
369 if (!privBuild.empty())
370 {
371 FileWriteString(_T(" + ") + privBuild);
372 }
373
374 FileWriteString(_T("\r\n Code File Modified: "));
375 FileWriteString(GetLastModified(sEXEFullFileName));

Callers

nothing calls this directly

Calls 15

ConcatPathFunction · 0.85
GetAppDataPathFunction · 0.85
GetMyDocumentsFunction · 0.85
CreateIfNeededFunction · 0.85
GetTemporaryPathFunction · 0.85
maskUserNameInPathFunction · 0.85
GetLongPathFunction · 0.85
GetLastModifiedFunction · 0.85
GetCompilerVersionFunction · 0.85
assertClass · 0.85
tcschrFunction · 0.85
IsWindowsScriptThereFunction · 0.85

Tested by

no test coverage detected