Browse Source

log_flush bin exact (#922)

pull/88/head
qndel 7 years ago committed by Anders Jenbo
parent
commit
8f5ff5207c
  1. 18
      Source/logging.cpp
  2. 2
      Source/logging.h

18
Source/logging.cpp

@ -41,28 +41,26 @@ void __cdecl log_cleanup_mutex(void)
DeleteCriticalSection(&sgMemCrit); DeleteCriticalSection(&sgMemCrit);
} }
void __cdecl log_flush(BOOLEAN force_close) void __cdecl log_flush(BOOL force_close)
{ {
HANDLE v1; // eax DWORD NumberOfBytesWritten;
DWORD NumberOfBytesWritten; // [esp+8h] [ebp-4h]
EnterCriticalSection(&sgMemCrit); EnterCriticalSection(&sgMemCrit);
if (nNumberOfBytesToWrite) { if (nNumberOfBytesToWrite) {
if (log_file == (HANDLE)-1) { if (log_file == INVALID_HANDLE_VALUE) {
v1 = log_create(); log_file = log_create();
log_file = v1; if (log_file == INVALID_HANDLE_VALUE) {
if (v1 == (HANDLE)-1) {
nNumberOfBytesToWrite = 0; nNumberOfBytesToWrite = 0;
return; return;
} }
SetFilePointer(v1, 0, NULL, FILE_END); SetFilePointer(log_file, 0, NULL, FILE_END);
} }
WriteFile(log_file, lpAddress, nNumberOfBytesToWrite, &NumberOfBytesWritten, 0); WriteFile(log_file, lpAddress, nNumberOfBytesToWrite, &NumberOfBytesWritten, 0);
nNumberOfBytesToWrite = 0; nNumberOfBytesToWrite = 0;
} }
if (force_close && log_file != (HANDLE)-1) { if (force_close && log_file != INVALID_HANDLE_VALUE) {
CloseHandle(log_file); CloseHandle(log_file);
log_file = (HANDLE)-1; log_file = INVALID_HANDLE_VALUE;
} }
LeaveCriticalSection(&sgMemCrit); LeaveCriticalSection(&sgMemCrit);
} }

2
Source/logging.h

@ -10,7 +10,7 @@ extern DWORD nNumberOfBytesToWrite; // idb
void log_init_mutex(); void log_init_mutex();
void j_log_cleanup_mutex(); void j_log_cleanup_mutex();
void __cdecl log_cleanup_mutex(void); void __cdecl log_cleanup_mutex(void);
void __cdecl log_flush(BOOLEAN force_close); void __cdecl log_flush(BOOL force_close);
HANDLE log_create(); // should be HANDLE HANDLE log_create(); // should be HANDLE
void log_get_version(VS_FIXEDFILEINFO *file_info); void log_get_version(VS_FIXEDFILEINFO *file_info);
void __cdecl log_printf(const char *pszFmt, ...); // LogMessage void __cdecl log_printf(const char *pszFmt, ...); // LogMessage

Loading…
Cancel
Save