Log messages properly.
[nssm.git] / event.cpp
1 #include "nssm.h"\r
2 \r
3 /* Log a message to the Event Log */\r
4 void log_event(unsigned short type, unsigned long id, ...) {\r
5   va_list arg;\r
6   int count;\r
7   char *s;\r
8   char *strings[6];\r
9 \r
10   /* Open event log */\r
11   HANDLE handle = RegisterEventSource(0, TEXT(NSSM));\r
12   if (! handle) return;\r
13 \r
14   /* Log it */\r
15   count = 0;\r
16   va_start(arg, id);\r
17   while ((s = va_arg(arg, char *))) strings[count++] = s;\r
18   va_end(arg);\r
19   ReportEvent(handle, type, 0, id, 0, count, 0, (const char **) strings, 0);\r
20 \r
21   /* Close event log */\r
22   DeregisterEventSource(handle);\r
23 }\r