NULL);
}
-static void Write(const char *szText) {
+static void Write(const char *sBuffer, DWORD dwBytesToWrite) {
if(g_hFile == INVALID_HANDLE_VALUE)
return;
- DWORD dwBytesToWrite = (DWORD)strlen(szText);
DWORD dwBytesWritten = 0;
while (dwBytesWritten < dwBytesToWrite) {
overlapped.OffsetHigh = 0xffffffff;
if(WriteFile(g_hFile,
- szText + dwBytesWritten,
+ sBuffer + dwBytesWritten,
dwBytesToWrite - dwBytesWritten,
&dwBytesWritten,
&overlapped) == FALSE) {
}
}
+static void Write(const char *szText) {
+ Write(szText, (DWORD)strlen(szText));
+}
+
void Open(const TCHAR *szName) {
_Open(szName, TEXT("xml"));
Write("<?xml version='1.0' encoding='UTF-8'?>");
Log::Text("\"");
unsigned char c;
while((c = *p++) != 0) {
- if(c >= 0x20 && c <= 0x7e)
+ if(c == '\"')
+ Text("\\\"");
+ else if(c == '\\')
+ Text("\\\\");
+ else if(c >= 0x20 && c <= 0x7e)
TextChar(c);
else if(c == '\t')
Text("\\t");