aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2019-10-21 19:06:12 +0300
committerMaxim Dounin <mdounin@mdounin.ru>2019-10-21 19:06:12 +0300
commit9aa906a684111a2f61ee841067cc0023ebcfa269 (patch)
tree780b0c03cd23f8a83b88708c095a196d4a3661ab /src
parent798fcf1ab4b77441a4cdf368a6cb11dc1c0c39c8 (diff)
downloadnginx-9aa906a684111a2f61ee841067cc0023ebcfa269.tar.gz
nginx-9aa906a684111a2f61ee841067cc0023ebcfa269.zip
Win32: improved fallback on FormatMessage() errors.
FormatMessage() seems to return many errors which essentially indicate that the language in question is not available. At least the following were observed in the wild and during testing: ERROR_MUI_FILE_NOT_FOUND (15100) (ticket #1868), ERROR_RESOURCE_TYPE_NOT_FOUND (1813). While documentation says it should be ERROR_RESOURCE_LANG_NOT_FOUND (1815), this doesn't seem to be the case. As such, checking error code was removed, and as long as FormatMessage() returns an error, we now always try the default language.
Diffstat (limited to 'src')
-rw-r--r--src/os/win32/ngx_errno.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/os/win32/ngx_errno.c b/src/os/win32/ngx_errno.c
index b732bf4b1..966d3def2 100644
--- a/src/os/win32/ngx_errno.c
+++ b/src/os/win32/ngx_errno.c
@@ -22,7 +22,7 @@ ngx_strerror(ngx_err_t err, u_char *errstr, size_t size)
len = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,
NULL, err, lang, (char *) errstr, size, NULL);
- if (len == 0 && lang && GetLastError() == ERROR_RESOURCE_LANG_NOT_FOUND) {
+ if (len == 0 && lang) {
/*
* Try to use English messages first and fallback to a language,