00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #include <os2wrap.h>
00011 #include <stdlib.h>
00012 #include <stdio.h>
00013 #include <string.h>
00014 #include "dbglocal.h"
00015
00016 #ifdef DEBUG
00017
00018 USHORT DbgEnabledUSER32[DBG_MAXFILES] = {0};
00019 USHORT DbgEnabledLvl2USER32[DBG_MAXFILES] = {0};
00020
00021 static char *DbgFileNames[DBG_MAXFILES] =
00022 {
00023 "user32",
00024 "loadres",
00025 "dde",
00026 "win32wndhandle",
00027 "wsprintf",
00028 "winmouse",
00029 "icon",
00030 "hook",
00031 "winkeyboard",
00032 "defwndproc",
00033 "syscolor",
00034 "char",
00035 "initterm",
00036 "uitools",
00037 "unknown",
00038 "spy",
00039 "wndmsg",
00040 "display",
00041 "pmwindow",
00042 "pmframe",
00043 "win32class",
00044 "win32wnd",
00045 "win32dlg",
00046 "msgbox",
00047 "window",
00048 "windowmsg",
00049 "windowclass",
00050 "win32wbase",
00051 "windowword",
00052 "gen_object",
00053 "oslibwin",
00054 "win32wndchild",
00055 "controls",
00056 "button",
00057 "static",
00058 "scroll",
00059 "listbox",
00060 "menu",
00061 "combo",
00062 "edit",
00063 "winswitch",
00064 "icontitle",
00065 "clipboard",
00066 "winicon",
00067 "win32wmdiclient",
00068 "oslibutil",
00069 "oslibmsg",
00070 "dib",
00071 "oslibdos",
00072 "win32wmdichild",
00073 "wingdi",
00074 "oslibgdi",
00075 "winaccel",
00076 "win32wbasepos",
00077 "oslibres",
00078 "dc",
00079 "timer",
00080 "caret",
00081 "resource",
00082 "winproc",
00083 "text",
00084 "oslibmsgtranslate",
00085 "windlgmsg",
00086 "windlg",
00087 "win32wdesktop",
00088 "win32wbasenonclient",
00089 "win32wbaseprop",
00090 "dcrgn"
00091 };
00092
00093
00094 void ParseLogStatusUSER32()
00095 {
00096 char *envvar = getenv(DBG_ENVNAME);
00097 char *envvar2= getenv(DBG_ENVNAME_LVL2);
00098 char *dbgvar;
00099 int i;
00100
00101 for(i=0;i<DBG_MAXFILES;i++) {
00102 DbgEnabledUSER32[i] = 1;
00103 }
00104
00105 if(envvar) {
00106 dbgvar = strstr(envvar, "dll");
00107 if(dbgvar) {
00108 if(*(dbgvar-1) == '-') {
00109 for(i=0;i<DBG_MAXFILES;i++) {
00110 DbgEnabledUSER32[i] = 0;
00111 }
00112 }
00113 }
00114 for(i=0;i<DBG_MAXFILES;i++) {
00115 dbgvar = strstr(envvar, DbgFileNames[i]);
00116 if(dbgvar) {
00117 if(*(dbgvar-1) == '-') {
00118 DbgEnabledUSER32[i] = 0;
00119 }
00120 else
00121 if(*(dbgvar-1) == '+') {
00122 DbgEnabledUSER32[i] = 1;
00123 }
00124 }
00125 }
00126 }
00127 if(envvar2) {
00128 dbgvar = strstr(envvar2, "dll");
00129 if(dbgvar) {
00130 if(*(dbgvar-1) == '+') {
00131 for(i=0;i<DBG_MAXFILES;i++) {
00132 DbgEnabledLvl2USER32[i] = 1;
00133 }
00134 }
00135 }
00136 for(i=0;i<DBG_MAXFILES;i++) {
00137 dbgvar = strstr(envvar2, DbgFileNames[i]);
00138 if(dbgvar) {
00139 if(*(dbgvar-1) == '-') {
00140 DbgEnabledLvl2USER32[i] = 0;
00141 }
00142 else
00143 if(*(dbgvar-1) == '+') {
00144 DbgEnabledLvl2USER32[i] = 1;
00145 }
00146 }
00147 }
00148 }
00149 }
00150
00151
00152
00153 #endif