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

version 1.9, 2004/03/07 01:23:14 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 269  void trace_init(void) { Line 335  void trace_init(void) {
         tracewin.fh = FILEH_INVALID;          tracewin.fh = FILEH_INVALID;
 #else  #else
         tracewin.en = 0;          tracewin.en = 0;
         tracewin.fh = file_create_c("traces.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 318  void trace_fmt(const char *fmt, ...) { Line 383  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);
         }          }
 }  }
   
Line 338  void trace_fmt2(const char *fmt, ...) { Line 403  void trace_fmt2(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) {  void trace_fileout(const char *fname) {
   
         if (tracewin.fh != FILEH_INVALID) {          if (tracewin.fh != FILEH_INVALID) {
Line 354  void trace_fileout(const char *fname) { Line 420  void trace_fileout(const char *fname) {
                 tracewin.fh = file_create_c(fname);                  tracewin.fh = file_create_c(fname);
         }          }
 }  }
   #endif
   
 #endif  #endif
   

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


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