summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2017-08-19 13:49:45 +0200
committerAnatol Belski <ab@php.net>2017-08-19 13:51:44 +0200
commitdda70e01069af9cf833ee8a207c4083c437b8343 (patch)
treeffe689c5758a63927d64ce4b939c0cfb2ea93e79 /win32
parenta1f3a0105d885879102d366de506c353a75c8d04 (diff)
downloadphp-git-dda70e01069af9cf833ee8a207c4083c437b8343.tar.gz
Follow up on ed9c16ad5def47d1c8ae2787f53dccfac893ce5f
The event log is not line based, passing the message as is here is just fine. Otherwise we'd create multiple event log items with partial messages.
Diffstat (limited to 'win32')
-rw-r--r--win32/syslog.h1
-rw-r--r--win32/wsyslog.c11
2 files changed, 9 insertions, 3 deletions
diff --git a/win32/syslog.h b/win32/syslog.h
index 104c4b75ff..3220ed66b6 100644
--- a/win32/syslog.h
+++ b/win32/syslog.h
@@ -73,6 +73,7 @@
extern void closelog(void);
extern void openlog(const char *, int, int);
extern void syslog(int, const char *, ...);
+extern void vsyslog(int, const char *, va_list ap);
#endif /* SYSLOG_H */
diff --git a/win32/wsyslog.c b/win32/wsyslog.c
index 6b0f03e8ea..b14fc1cc61 100644
--- a/win32/wsyslog.c
+++ b/win32/wsyslog.c
@@ -80,6 +80,14 @@ void closelog(void)
void syslog(int priority, const char *message, ...)
{
va_list args;
+
+ va_start(args, message); /* initialize vararg mechanism */
+ vsyslog(priority, message, args);
+ va_end(args);
+}
+
+void vsyslog(int priority, const char *message, va_list args)
+{
LPTSTR strs[2];
unsigned short etype;
char *tmp = NULL;
@@ -102,13 +110,11 @@ void syslog(int priority, const char *message, ...)
etype = EVENTLOG_WARNING_TYPE;
evid = PHP_SYSLOG_WARNING_TYPE;
}
- va_start(args, message); /* initialize vararg mechanism */
vspprintf(&tmp, 0, message, args); /* build message */
strs[0] = PW32G(log_header); /* write header */
strs[1] = tmp; /* then the message */
/* report the event */
ReportEvent(PW32G(log_source), etype, (unsigned short) priority, evid, NULL, 2, 0, strs, NULL);
- va_end(args);
efree(tmp);
}
@@ -127,7 +133,6 @@ void openlog(const char *ident, int logopt, int facility)
PW32G(log_source) = RegisterEventSource(NULL, "PHP-" PHP_VERSION);
spprintf(&PW32G(log_header), 0, (logopt & LOG_PID) ? "%s[%d]" : "%s", ident, getpid());
}
-
/*
* Local variables:
* tab-width: 4