diff options
author | Igor Sysoev <igor@sysoev.ru> | 2002-08-06 16:39:45 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2002-08-06 16:39:45 +0000 |
commit | 6de5c2cb63f8aee4bcbec3c363a72fd8e4a4e64d (patch) | |
tree | 0e4da305f8101799b6c6aa3002cecf539c2578c0 /src/os/win32/ngx_errno.c | |
download | nginx-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.c | 38 |
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; +} |