12345678910111213141516171819202122232425262728293031323334353637 |
- #include "rar.hpp"
- static wchar LogName[NM];
- static RAR_CHARSET LogCharset=RCH_DEFAULT;
- void InitLogOptions(const wchar *LogFileName,RAR_CHARSET CSet)
- {
- wcsncpyz(LogName,LogFileName,ASIZE(LogName));
- LogCharset=CSet;
- }
- #ifndef SILENT
- void Log(const wchar *ArcName,const wchar *fmt,...)
- {
- // Preserve the error code for possible following system error message.
- int Code=ErrHandler.GetSystemErrorCode();
- uiAlarm(UIALARM_ERROR);
- // This buffer is for format string only, not for entire output,
- // so it can be short enough.
- wchar fmtw[1024];
- PrintfPrepareFmt(fmt,fmtw,ASIZE(fmtw));
- safebuf wchar Msg[2*NM+1024];
- va_list arglist;
- va_start(arglist,fmt);
- vswprintf(Msg,ASIZE(Msg),fmtw,arglist);
- va_end(arglist);
- eprintf(L"%ls",Msg);
- ErrHandler.SetSystemErrorCode(Code);
- }
- #endif
|