Diff for /np2/win9xc/trace.cpp between versions 1.6 and 1.10

version 1.6, 2004/01/31 20:05:24 version 1.10, 2004/03/09 16:31:18
Line 7 Line 7
   
 #ifdef TRACE  #ifdef TRACE
   
   #define FILEBUFSIZE                     (1 << 20)
   #define FILELASTBUFONLY
   
 #ifdef STRICT  #ifdef STRICT
 #define SUBCLASSPROC    WNDPROC  #define SUBCLASSPROC    WNDPROC
 #else  #else
Line 106  static void View_AddString(const char *l Line 109  static void View_AddString(const char *l
         View_ScrollToBottom(hView);          View_ScrollToBottom(hView);
 }  }
   
   
   // ----
   
   static  char    filebuf[FILEBUFSIZE];
   static  UINT32  filebufpos;
   
   static void trfh_close(void) {
   
           FILEH   fh;
           UINT    size;
   
           fh = tracewin.fh;
           tracewin.fh = FILEH_INVALID;
           if (fh != FILEH_INVALID) {
                   size = filebufpos & (FILEBUFSIZE - 1);
   #if defined(FILELASTBUFONLY)
                   if (filebufpos >= FILEBUFSIZE) {
                           file_write(fh, filebuf + size, FILEBUFSIZE - size);
                   }
   #endif
                   if (size) {
                           file_write(fh, filebuf, size);
                   }
                   file_close(fh);
           }
   }
   
   static void trfh_open(const char *fname) {
   
           trfh_close();
           tracewin.fh = file_create(fname);
           filebufpos = 0;
   }
   
   static void trfh_add(const char *buf) {
   
           UINT    size;
           UINT    pos;
           UINT    rem;
   
           size = strlen(buf);
           while(size) {
                   pos = filebufpos & (FILEBUFSIZE - 1);
                   rem = FILEBUFSIZE - pos;
                   if (size >= rem) {
                           CopyMemory(filebuf + pos, buf, rem);
                           filebufpos += rem;
                           buf += rem;
                           size -= rem;
   #if !defined(FILELASTBUFONLY)
                           file_write(tracewin.fh, buf, strlen(buf));
   #endif
                   }
                   else {
                           CopyMemory(filebuf + pos, buf, size);
                           filebufpos += size;
                           break;
                   }
           }
   }
   
   
   // ----
   
 static LRESULT CALLBACK traceproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) {  static LRESULT CALLBACK traceproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) {
   
         RECT    rc;          RECT    rc;
Line 160  static LRESULT CALLBACK traceproc(HWND h Line 227  static LRESULT CALLBACK traceproc(HWND h
   
                                 case IDM_TRACEFH:                                  case IDM_TRACEFH:
                                         if (tracewin.fh != FILEH_INVALID) {                                          if (tracewin.fh != FILEH_INVALID) {
                                                 file_close(tracewin.fh);                                                  trfh_close();
                                                 tracewin.fh = FILEH_INVALID;  
                                         }                                          }
                                         else {                                          else {
                                                 tracewin.fh = file_create("traceout.txt");                                                  trfh_open("traceout.txt");
                                         }                                          }
                                         hmenu = GetSystemMenu(hWnd, FALSE);                                          hmenu = GetSystemMenu(hWnd, FALSE);
                                         CheckMenuItem(hmenu, IDM_TRACEFH,                                          CheckMenuItem(hmenu, IDM_TRACEFH,
Line 265  void trace_init(void) { Line 331  void trace_init(void) {
         }          }
   
 #if 1  #if 1
         tracewin.en = 1;          tracewin.en = 0;
         tracewin.fh = FILEH_INVALID;          tracewin.fh = FILEH_INVALID;
 #else  #else
         tracewin.en = 0;          tracewin.en = 0;
         tracewin.fh = file_create_c("out.txt");          tracewin.fh = trfh_open("traces.txt");
 #endif  #endif
   
         tracecfg.posx = CW_USEDEFAULT;          tracecfg.posx = CW_USEDEFAULT;
Line 295  void trace_init(void) { Line 361  void trace_init(void) {
 void trace_term(void) {  void trace_term(void) {
   
         if (tracewin.fh != FILEH_INVALID) {          if (tracewin.fh != FILEH_INVALID) {
                 file_close(tracewin.fh);                  trfh_close();
                 tracewin.fh = FILEH_INVALID;  
         }          }
         if (tracewin.hwnd) {          if (tracewin.hwnd) {
                 DestroyWindow(tracewin.hwnd);                  DestroyWindow(tracewin.hwnd);
Line 311  void trace_fmt(const char *fmt, ...) { Line 376  void trace_fmt(const char *fmt, ...) {
         va_list ap;          va_list ap;
         char    buf[0x1000];          char    buf[0x1000];
   
           va_start(ap, fmt);
           vsprintf(buf, fmt, ap);
           va_end(ap);
           if (hView) {
                   View_AddString(buf);
           }
           if (tracewin.fh != FILEH_INVALID) {
                   trfh_add(buf);
                   trfh_add(crlf);
           }
   }
   
   void trace_fmt2(const char *fmt, ...) {
   
           BOOL    en;
           va_list ap;
           char    buf[0x1000];
   
         en = (tracewin.en & 1) || (tracewin.fh != FILEH_INVALID);          en = (tracewin.en & 1) || (tracewin.fh != FILEH_INVALID);
         if (en) {          if (en) {
                 va_start(ap, fmt);                  va_start(ap, fmt);
Line 320  void trace_fmt(const char *fmt, ...) { Line 403  void trace_fmt(const char *fmt, ...) {
                         View_AddString(buf);                          View_AddString(buf);
                 }                  }
                 if (tracewin.fh != FILEH_INVALID) {                  if (tracewin.fh != FILEH_INVALID) {
                         file_write(tracewin.fh, buf, strlen(buf));                          trfh_add(buf);
                         file_write(tracewin.fh, crlf, strlen(crlf));                          trfh_add(crlf);
                 }                  }
         }          }
 }  }
   
   #if 0
   void trace_fileout(const char *fname) {
   
           if (tracewin.fh != FILEH_INVALID) {
                   file_close(tracewin.fh);
                   tracewin.fh = FILEH_INVALID;
           }
           if (fname) {
                   tracewin.fh = file_create_c(fname);
           }
   }
   #endif
   
 #endif  #endif
   

Removed from v.1.6  
changed lines
  Added in v.1.10


RetroPC.NET-CVS <cvs@retropc.net>