From: Jeff Trawick Date: Fri, 27 Sep 2013 18:01:15 +0000 (+0000) Subject: Fix the null device name on Windows so that stderr can be sent X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fc2f72f1a33fa42ca09160627aef7d4d6b5bf6f9;p=thirdparty%2Fapache%2Fhttpd.git Fix the null device name on Windows so that stderr can be sent to the bit bucket. (This logic is always hit when using an error log provider.) git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1527008 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/server/log.c b/server/log.c index d2318b81da4..9466847d982 100644 --- a/server/log.c +++ b/server/log.c @@ -430,9 +430,16 @@ int ap_open_logs(apr_pool_t *pconf, apr_pool_t *p /* plog */, * XXX: This is BS - /dev/null is non-portable * errno-as-apr_status_t is also non-portable */ - if (replace_stderr && freopen("/dev/null", "w", stderr) == NULL) { + +#ifdef WIN32 +#define NULL_DEVICE "nul" +#else +#define NULL_DEVICE "/dev/null" +#endif + + if (replace_stderr && freopen(NULL_DEVICE, "w", stderr) == NULL) { ap_log_error(APLOG_MARK, APLOG_CRIT, errno, s_main, APLOGNO(00093) - "unable to replace stderr with /dev/null"); + "unable to replace stderr with %s", NULL_DEVICE); } for (virt = s_main->next; virt; virt = virt->next) {