Fix some bugs with logging
Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@991
This commit is contained in:
parent
656ceb60fd
commit
c6a015a866
1 changed files with 34 additions and 32 deletions
|
@ -37,37 +37,35 @@ struct _LogGroup {
|
|||
bool enabled;
|
||||
};
|
||||
|
||||
namespace {
|
||||
_LogGroup loggrp[LOG_MAX]={"",true,0};
|
||||
|
||||
FILE* debuglog;
|
||||
};
|
||||
static _LogGroup loggrp[LOG_MAX]={"",true,0};
|
||||
static FILE* debuglog;
|
||||
|
||||
extern int old_cursor_state;
|
||||
|
||||
|
||||
|
||||
void DEBUG_ShowMsg(Bit32u entry, char * format,...) {
|
||||
void DEBUG_ShowMsg(char * format,...) {
|
||||
|
||||
if (!(entry & LOG_ERROR) && entry && !loggrp[entry].enabled) return;
|
||||
|
||||
char buf[1024];
|
||||
strcpy(buf,loggrp[entry&127].front);
|
||||
char buf[512];
|
||||
va_list msg;
|
||||
va_start(msg,format);
|
||||
vsprintf(&buf[strlen(buf)],format,msg);
|
||||
vsprintf(buf,format,msg);
|
||||
va_end(msg);
|
||||
wprintw(dbg.win_out,"%10d: %s\n",cycle_count,buf);
|
||||
wrefresh(dbg.win_out);
|
||||
if(debuglog) fprintf(debuglog,"%10d: %s\n",cycle_count,buf);
|
||||
}
|
||||
|
||||
void LOG::operator() (char* format, ...){
|
||||
char buf[1024];
|
||||
char buf[512];
|
||||
va_list msg;
|
||||
va_start(msg,format);
|
||||
vsprintf(buf,format,msg);
|
||||
va_end(msg);
|
||||
DEBUG_ShowMsg(this->d_type|this->d_severity,buf);
|
||||
|
||||
if (d_type>=LOG_MAX) return;
|
||||
if ((d_severity!=LOG_ERROR) && (!loggrp[d_type].enabled)) return;
|
||||
DEBUG_ShowMsg("%s:%s",loggrp[d_type].front,buf);
|
||||
}
|
||||
|
||||
|
||||
|
@ -159,6 +157,7 @@ static void LOG_Init(Section * sec) {
|
|||
for (Bitu i=1;i<LOG_MAX;i++) {
|
||||
strcpy(buf,loggrp[i].front);
|
||||
buf[strlen(buf)-1]=0;
|
||||
lowcase(buf);
|
||||
loggrp[i].enabled=sect->Get_bool(buf);
|
||||
}
|
||||
}
|
||||
|
@ -166,30 +165,33 @@ static void LOG_Init(Section * sec) {
|
|||
|
||||
void LOG_StartUp(void) {
|
||||
/* Setup logging groups */
|
||||
loggrp[LOG_VGA].front="VGA:";
|
||||
loggrp[LOG_VGAGFX].front="VGAGFX:";
|
||||
loggrp[LOG_VGAMISC].front="VGAMISC:";
|
||||
loggrp[LOG_INT10].front="INT10:";
|
||||
loggrp[LOG_SB].front="SBLASTER:";
|
||||
loggrp[LOG_DMA].front="DMA:";
|
||||
loggrp[LOG_ALL].front="ALL";
|
||||
loggrp[LOG_VGA].front="VGA";
|
||||
loggrp[LOG_VGAGFX].front="VGAGFX";
|
||||
loggrp[LOG_VGAMISC].front="VGAMISC";
|
||||
loggrp[LOG_INT10].front="INT10";
|
||||
loggrp[LOG_SB].front="SBLASTER";
|
||||
loggrp[LOG_DMA].front="DMA";
|
||||
|
||||
loggrp[LOG_FPU].front="FPU:";
|
||||
loggrp[LOG_CPU].front="CPU:";
|
||||
loggrp[LOG_FPU].front="FPU";
|
||||
loggrp[LOG_CPU].front="CPU";
|
||||
|
||||
loggrp[LOG_FCB].front="FCB:";
|
||||
loggrp[LOG_FILES].front="FILES:";
|
||||
loggrp[LOG_IOCTL].front="IOCTL:";
|
||||
loggrp[LOG_FCB].front="FCB";
|
||||
loggrp[LOG_FILES].front="FILES";
|
||||
loggrp[LOG_IOCTL].front="IOCTL";
|
||||
loggrp[LOG_EXEC].front="EXEC";
|
||||
loggrp[LOG_DOSMISC].front="DOSMISC:";
|
||||
loggrp[LOG_DOSMISC].front="DOSMISC";
|
||||
|
||||
loggrp[LOG_PIT].front="PIT:";
|
||||
loggrp[LOG_KEYBOARD].front="KEYBOARD:";
|
||||
loggrp[LOG_PIC].front="PIC:";
|
||||
loggrp[LOG_PIT].front="PIT";
|
||||
loggrp[LOG_KEYBOARD].front="KEYBOARD";
|
||||
loggrp[LOG_PIC].front="PIC";
|
||||
|
||||
loggrp[LOG_MOUSE].front="MOUSE:";
|
||||
loggrp[LOG_BIOS].front="BIOS:";
|
||||
loggrp[LOG_GUI].front="GUI:";
|
||||
loggrp[LOG_MISC].front="MISC:";
|
||||
loggrp[LOG_MOUSE].front="MOUSE";
|
||||
loggrp[LOG_BIOS].front="BIOS";
|
||||
loggrp[LOG_GUI].front="GUI";
|
||||
loggrp[LOG_MISC].front="MISC";
|
||||
|
||||
loggrp[LOG_IO].front="IO";
|
||||
|
||||
/* Register the log section */
|
||||
Section_prop * sect=control->AddSection_prop("log",LOG_Init);
|
||||
|
|
Loading…
Add table
Reference in a new issue