Compile messages.
[nssm.git] / event.cpp
index 7f2b9f4..2a9bbf2 100644 (file)
--- a/event.cpp
+++ b/event.cpp
@@ -2,13 +2,13 @@
 \r
 /* Convert error code to error string - must call LocalFree() on return value */\r
 char *error_string(unsigned long error) {\r
-  char *message;\r
-  if (! FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, 0, error, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (char *) &message, 0, 0)) return 0;\r
+  static char message[65535];\r
+  if (! FormatMessage(FORMAT_MESSAGE_FROM_HMODULE, 0, NSSM_MESSAGE_DEFAULT, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), message, sizeof(message), 0)) return 0;\r
   return message;\r
 }\r
 \r
 /* Log a message to the Event Log */\r
-void eventprintf(unsigned short type, char *format, ...) {\r
+void eventprintf(unsigned short type, unsigned long id, char *format, ...) {\r
   char message[4096];\r
   char *strings[2];\r
   int n, size;\r
@@ -32,7 +32,7 @@ void eventprintf(unsigned short type, char *format, ...) {
   if (! handle) return;\r
 \r
   /* Log it */\r
-  if (! ReportEvent(handle, type, 0, 0, 0, 1, 0, (const char **) strings, 0)) {\r
+  if (! ReportEvent(handle, type, 0, id, 0, 1, 0, (const char **) strings, 0)) {\r
     printf("ReportEvent(): %s\n", error_string(GetLastError()));\r
   }\r
 \r