tProper handling of startup messages under Win32 - vaccinewars - be a doctor an… | |
git clone git://src.adamsgaard.dk/vaccinewars | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 77dac8e5d09edd00cafc3553dc81f837d13f6887 | |
parent 73f41fda91d2f4173ab3984a795aedf7fa1d7de2 | |
Author: Ben Webb <[email protected]> | |
Date: Sat, 28 Apr 2001 17:46:06 +0000 | |
Proper handling of startup messages under Win32 | |
Diffstat: | |
M src/winmain.c | 26 ++++++++++++++++++++++++-- | |
1 file changed, 24 insertions(+), 2 deletions(-) | |
--- | |
diff --git a/src/winmain.c b/src/winmain.c | |
t@@ -76,6 +76,20 @@ static void WindowPrintEnd() { | |
TextOutput=NULL; | |
} | |
+static FILE *LogFile=NULL; | |
+ | |
+static void LogFileStart() { | |
+ LogFile=fopen("dopewars-log.txt","w"); | |
+} | |
+ | |
+static void LogFilePrintFunc(const gchar *string) { | |
+ if (LogFile) fprintf(LogFile,string); | |
+} | |
+ | |
+static void LogFileEnd() { | |
+ if (LogFile) fclose(LogFile); | |
+} | |
+ | |
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance, | |
LPSTR lpszCmdParam,int nCmdShow) { | |
gchar **split; | |
t@@ -85,12 +99,18 @@ int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevIn… | |
bindtextdomain(PACKAGE,LOCALEDIR); | |
textdomain(PACKAGE); | |
#endif | |
- g_log_set_handler(NULL,G_LOG_LEVEL_MESSAGE|G_LOG_LEVEL_WARNING, | |
- LogMessage,NULL); | |
+ g_log_set_handler(NULL,G_LOG_LEVEL_MESSAGE|G_LOG_LEVEL_WARNING| | |
+ G_LOG_LEVEL_CRITICAL,LogMessage,NULL); | |
split=g_strsplit(lpszCmdParam," ",0); | |
argc=0; | |
while (split[argc] && split[argc][0]) argc++; | |
+ LogFileStart(); | |
+ g_set_print_handler(LogFilePrintFunc); | |
+ g_print(_("# This is the dopewars startup log, containing any\n" | |
+ "# informative messages resulting from configuration\n" | |
+ "# file processing and the like.\n\n")); | |
if (GeneralStartup(argc,split)==0) { | |
+ LogFileEnd(); | |
if (WantVersion || WantHelp) { | |
WindowPrintStart(); | |
g_set_print_handler(WindowPrintFunc); | |
t@@ -129,6 +149,8 @@ int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevIn… | |
} | |
StopNetworking(); | |
} | |
+ } else { | |
+ LogFileEnd(); | |
} | |
g_strfreev(split); | |
CloseHighScoreFile(); |