summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2011-12-14 15:23:23 +0000
committerMaxim Dounin <mdounin@mdounin.ru>2011-12-14 15:23:23 +0000
commite44e248c23b49d3037a4add578fa1778be6be315 (patch)
tree7e0e4015614917ee7979e710a1e8e501a54be342
parent214dfd3e22fed5d02ce54b9e81a899134c84f694 (diff)
downloadnginx-e44e248c23b49d3037a4add578fa1778be6be315.tar.gz
nginx-e44e248c23b49d3037a4add578fa1778be6be315.tar.bz2
Merge of r4284:
Introduction of simple ngx_write_stderr() instead of ngx_log_stderr() for output of ./configure options, etc., since ngx_log_stderr() output length is limited by 2048 characters defined as NGX_MAX_ERROR_STR.
Diffstat (limited to '')
-rw-r--r--src/core/nginx.c38
-rw-r--r--src/core/ngx_log.h16
-rw-r--r--src/os/unix/ngx_files.h1
-rw-r--r--src/os/win32/ngx_files.h1
4 files changed, 38 insertions, 18 deletions
diff --git a/src/core/nginx.c b/src/core/nginx.c
index 3a413e84e..47a00e19b 100644
--- a/src/core/nginx.c
+++ b/src/core/nginx.c
@@ -216,47 +216,49 @@ main(int argc, char *const *argv)
}
if (ngx_show_version) {
- ngx_log_stderr(0, "nginx version: " NGINX_VER);
+ ngx_write_stderr("nginx version: " NGINX_VER NGX_LINEFEED);
if (ngx_show_help) {
- ngx_log_stderr(0,
+ ngx_write_stderr(
"Usage: nginx [-?hvVtq] [-s signal] [-c filename] "
- "[-p prefix] [-g directives]" CRLF CRLF
- "Options:" CRLF
- " -?,-h : this help" CRLF
- " -v : show version and exit" CRLF
+ "[-p prefix] [-g directives]" NGX_LINEFEED
+ NGX_LINEFEED
+ "Options:" NGX_LINEFEED
+ " -?,-h : this help" NGX_LINEFEED
+ " -v : show version and exit" NGX_LINEFEED
" -V : show version and configure options then exit"
- CRLF
- " -t : test configuration and exit" CRLF
+ NGX_LINEFEED
+ " -t : test configuration and exit" NGX_LINEFEED
" -q : suppress non-error messages "
- "during configuration testing" CRLF
+ "during configuration testing" NGX_LINEFEED
" -s signal : send signal to a master process: "
- "stop, quit, reopen, reload" CRLF
+ "stop, quit, reopen, reload" NGX_LINEFEED
#ifdef NGX_PREFIX
" -p prefix : set prefix path (default: "
- NGX_PREFIX ")" CRLF
+ NGX_PREFIX ")" NGX_LINEFEED
#else
- " -p prefix : set prefix path (default: NONE)" CRLF
+ " -p prefix : set prefix path (default: NONE)" NGX_LINEFEED
#endif
" -c filename : set configuration file (default: "
- NGX_CONF_PATH ")" CRLF
+ NGX_CONF_PATH ")" NGX_LINEFEED
" -g directives : set global directives out of configuration "
- "file" CRLF
+ "file" NGX_LINEFEED NGX_LINEFEED
);
}
if (ngx_show_configure) {
+ ngx_write_stderr(
#ifdef NGX_COMPILER
- ngx_log_stderr(0, "built by " NGX_COMPILER);
+ "built by " NGX_COMPILER NGX_LINEFEED
#endif
#if (NGX_SSL)
#ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME
- ngx_log_stderr(0, "TLS SNI support enabled");
+ "TLS SNI support enabled" NGX_LINEFEED
#else
- ngx_log_stderr(0, "TLS SNI support disabled");
+ "TLS SNI support disabled" NGX_LINEFEED
#endif
#endif
- ngx_log_stderr(0, "configure arguments:" NGX_CONFIGURE);
+ "configure arguments:" NGX_CONFIGURE NGX_LINEFEED);
}
if (!ngx_test_config) {
diff --git a/src/core/ngx_log.h b/src/core/ngx_log.h
index 1054836f1..a55ef449c 100644
--- a/src/core/ngx_log.h
+++ b/src/core/ngx_log.h
@@ -203,6 +203,22 @@ void ngx_cdecl ngx_log_stderr(ngx_err_t err, const char *fmt, ...);
u_char *ngx_log_errno(u_char *buf, u_char *last, ngx_err_t err);
+/*
+ * ngx_write_stderr() cannot be implemented as macro, since
+ * MSVC does not allow to use #ifdef inside macro parameters.
+ *
+ * ngx_write_fd() is used instead of ngx_write_console(), since
+ * CharToOemBuff() inside ngx_write_console() cannot be used with
+ * read only buffer as destination and CharToOemBuff() is not needed
+ * for ngx_write_stderr() anyway.
+ */
+static ngx_inline void
+ngx_write_stderr(char *text)
+{
+ (void) ngx_write_fd(ngx_stderr, text, strlen(text));
+}
+
+
extern ngx_module_t ngx_errlog_module;
extern ngx_uint_t ngx_use_stderr;
diff --git a/src/os/unix/ngx_files.h b/src/os/unix/ngx_files.h
index af41ea38e..7c7f1fcd3 100644
--- a/src/os/unix/ngx_files.h
+++ b/src/os/unix/ngx_files.h
@@ -128,6 +128,7 @@ ngx_write_fd(ngx_fd_t fd, void *buf, size_t n)
#define ngx_linefeed(p) *p++ = LF;
#define NGX_LINEFEED_SIZE 1
+#define NGX_LINEFEED "\x0a"
#define ngx_rename_file(o, n) rename((const char *) o, (const char *) n)
diff --git a/src/os/win32/ngx_files.h b/src/os/win32/ngx_files.h
index 7358ed65b..a2c9c344e 100644
--- a/src/os/win32/ngx_files.h
+++ b/src/os/win32/ngx_files.h
@@ -115,6 +115,7 @@ ssize_t ngx_write_console(ngx_fd_t fd, void *buf, size_t size);
#define ngx_linefeed(p) *p++ = CR; *p++ = LF;
#define NGX_LINEFEED_SIZE 2
+#define NGX_LINEFEED CRLF
#define ngx_delete_file(name) DeleteFile((const char *) name)