/* TODO: add WSA error messages for NT and 98 test for English only messages */ #include #include 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; }