Welcome! Log In Create A New Profile

Advanced

[nginx] Win32: improved fallback on FormatMessage() errors.

Maxim Dounin
October 21, 2019 12:12PM
details: https://hg.nginx.org/nginx/rev/746567d633ac
branches:
changeset: 7585:746567d633ac
user: Maxim Dounin <mdounin@mdounin.ru>
date: Mon Oct 21 19:06:12 2019 +0300
description:
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:

src/os/win32/ngx_errno.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diffs (12 lines):

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,
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[nginx] Win32: improved fallback on FormatMessage() errors.

Maxim Dounin 233 October 21, 2019 12:12PM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 208
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready