aboutsummaryrefslogtreecommitdiff
path: root/src/os/win32/ngx_errno.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2002-08-06 16:39:45 +0000
committerIgor Sysoev <igor@sysoev.ru>2002-08-06 16:39:45 +0000
commit6de5c2cb63f8aee4bcbec3c363a72fd8e4a4e64d (patch)
tree0e4da305f8101799b6c6aa3002cecf539c2578c0 /src/os/win32/ngx_errno.c
downloadnginx-6de5c2cb63f8aee4bcbec3c363a72fd8e4a4e64d.tar.gz
nginx-6de5c2cb63f8aee4bcbec3c363a72fd8e4a4e64d.zip
nginx-0.0.1-2002-08-06-20:39:45 import
The first code that uses "ngx_" prefix, the previous one used "gx_" prefix. At that point the code is not yet usable. The first draft ideas are dated back to 23.10.2001.
Diffstat (limited to 'src/os/win32/ngx_errno.c')
-rw-r--r--src/os/win32/ngx_errno.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/os/win32/ngx_errno.c b/src/os/win32/ngx_errno.c
new file mode 100644
index 000000000..ef91e883c
--- /dev/null
+++ b/src/os/win32/ngx_errno.c
@@ -0,0 +1,38 @@
+
+/*
+ TODO:
+ add WSA error messages
+ test for English only messages
+*/
+
+#include <ngx_config.h>
+#include <ngx_string.h>
+#include <ngx_errno.h>
+
+int ngx_strerror_r(ngx_err_t err, char *errstr, size_t size)
+{
+ int len;
+
+ len = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM
+ | FORMAT_MESSAGE_IGNORE_INSERTS,
+ NULL, err,
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
+ errstr, size, NULL);
+
+ /* add WSA error messages */
+
+ if (len == 0) {
+
+ len = ngx_snprintf(errstr, size,
+ "FormatMessage error:(%d)", GetLastError());
+ return len;
+
+ }
+
+ /* remove ".\r\n\0" */
+ while (errstr[len] == '\0' || errstr[len] == CR
+ || errstr[len] == LF || errstr[len] == '.')
+ --len;
+
+ return ++len;
+}