# HG changeset patch # User Maxim Dounin # Date 1571673972 -10800 # Node ID 746567d633ac43998dff67bd33368c66bdfdb2b1 # Parent 9d2ad2fb4423ab350cac3751df6bfa0ff96c6c0a 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. diff --git a/src/os/win32/ngx_errno.c b/src/os/win32/ngx_errno.c --- 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 *errs 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,