|
|
| version 1.12, 2004/03/21 11:47:20 | version 1.13, 2004/04/02 19:31:27 |
|---|---|
| Line 7 | Line 7 |
| #ifdef TRACE | #ifdef TRACE |
| #define FILEBUFSIZE (1 << 20) | // #define FILEBUFSIZE (1 << 20) |
| // #define FILELASTBUFONLY | // #define FILELASTBUFONLY |
| #ifdef STRICT | #ifdef STRICT |
| Line 116 static void View_AddString(const char *l | Line 116 static void View_AddString(const char *l |
| // ---- | // ---- |
| #if defined(FILEBUFSIZE) | |
| static char filebuf[FILEBUFSIZE]; | static char filebuf[FILEBUFSIZE]; |
| static UINT32 filebufpos; | static UINT32 filebufpos; |
| #endif | |
| static void trfh_close(void) { | static void trfh_close(void) { |
| FILEH fh; | FILEH fh; |
| UINT size; | |
| fh = tracewin.fh; | fh = tracewin.fh; |
| tracewin.fh = FILEH_INVALID; | tracewin.fh = FILEH_INVALID; |
| if (fh != FILEH_INVALID) { | if (fh != FILEH_INVALID) { |
| size = filebufpos & (FILEBUFSIZE - 1); | #if defined(FILEBUFSIZE) |
| UINT size = filebufpos & (FILEBUFSIZE - 1); | |
| #if defined(FILELASTBUFONLY) | #if defined(FILELASTBUFONLY) |
| if (filebufpos >= FILEBUFSIZE) { | if (filebufpos >= FILEBUFSIZE) { |
| file_write(fh, filebuf + size, FILEBUFSIZE - size); | file_write(fh, filebuf + size, FILEBUFSIZE - size); |
| Line 136 static void trfh_close(void) { | Line 138 static void trfh_close(void) { |
| if (size) { | if (size) { |
| file_write(fh, filebuf, size); | file_write(fh, filebuf, size); |
| } | } |
| #endif | |
| file_close(fh); | file_close(fh); |
| } | } |
| } | } |
| Line 144 static void trfh_open(const char *fname) | Line 147 static void trfh_open(const char *fname) |
| trfh_close(); | trfh_close(); |
| tracewin.fh = file_create(fname); | tracewin.fh = file_create(fname); |
| #if defined(FILEBUFSIZE) | |
| filebufpos = 0; | filebufpos = 0; |
| #endif | |
| } | } |
| static void trfh_add(const char *buf) { | static void trfh_add(const char *buf) { |
| UINT size; | UINT size; |
| UINT pos; | |
| UINT rem; | |
| size = strlen(buf); | size = strlen(buf); |
| #if defined(FILEBUFSIZE) | |
| while(size) { | while(size) { |
| pos = filebufpos & (FILEBUFSIZE - 1); | UINT pos = filebufpos & (FILEBUFSIZE - 1); |
| rem = FILEBUFSIZE - pos; | UINT rem = FILEBUFSIZE - pos; |
| if (size >= rem) { | if (size >= rem) { |
| CopyMemory(filebuf + pos, buf, rem); | CopyMemory(filebuf + pos, buf, rem); |
| filebufpos += rem; | filebufpos += rem; |
| Line 172 static void trfh_add(const char *buf) { | Line 176 static void trfh_add(const char *buf) { |
| break; | break; |
| } | } |
| } | } |
| #else | |
| file_write(tracewin.fh, buf, size); | |
| #endif | |
| } | } |