git://git.iain.cx/iain
/
nssm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Enforce maximum report delay when starting service.
[nssm.git]
/
event.cpp
diff --git
a/event.cpp
b/event.cpp
index
995b7af
..
32e4acf
100644
(file)
--- a/
event.cpp
+++ b/
event.cpp
@@
-1,6
+1,7
@@
#include "nssm.h"
\r
\r
#define NSSM_ERROR_BUFSIZE 65535
\r
#include "nssm.h"
\r
\r
#define NSSM_ERROR_BUFSIZE 65535
\r
+#define NSSM_NUM_EVENT_STRINGS 16
\r
unsigned long tls_index;
\r
\r
/* Convert error code to error string - must call LocalFree() on return value */
\r
unsigned long tls_index;
\r
\r
/* Convert error code to error string - must call LocalFree() on return value */
\r
@@
-34,7
+35,7
@@
void log_event(unsigned short type, unsigned long id, ...) {
va_list arg;
\r
int count;
\r
char *s;
\r
va_list arg;
\r
int count;
\r
char *s;
\r
- char *strings[
6
];
\r
+ char *strings[
NSSM_NUM_EVENT_STRINGS
];
\r
\r
/* Open event log */
\r
HANDLE handle = RegisterEventSource(0, TEXT(NSSM));
\r
\r
/* Open event log */
\r
HANDLE handle = RegisterEventSource(0, TEXT(NSSM));
\r
@@
-43,7
+44,8
@@
void log_event(unsigned short type, unsigned long id, ...) {
/* Log it */
\r
count = 0;
\r
va_start(arg, id);
\r
/* Log it */
\r
count = 0;
\r
va_start(arg, id);
\r
- while ((s = va_arg(arg, char *))) strings[count++] = s;
\r
+ while ((s = va_arg(arg, char *)) && count < NSSM_NUM_EVENT_STRINGS - 1) strings[count++] = s;
\r
+ strings[count] = 0;
\r
va_end(arg);
\r
ReportEvent(handle, type, 0, id, 0, count, 0, (const char **) strings, 0);
\r
\r
va_end(arg);
\r
ReportEvent(handle, type, 0, id, 0, count, 0, (const char **) strings, 0);
\r
\r