mirror of
https://github.com/python/cpython.git
synced 2025-07-28 21:55:21 +00:00
Partial port of r59682 from py3k.
On Windows, when import fails to load a dll module, the message says "error code 193" instead of a more informative text. It turns out that FormatMessage needs additional parameters for some error codes. For example: 193 means "%1 is not a valid Win32 application". Since it is impossible to know which parameter to pass, we use FORMAT_MESSAGE_IGNORE_INSERTS to get the raw message, which is still better than the number.
This commit is contained in:
parent
d0d7d87869
commit
e0b7695286
2 changed files with 6 additions and 1 deletions
|
@ -12,6 +12,10 @@ What's New in Python 2.6 alpha 1?
|
||||||
Core and builtins
|
Core and builtins
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
- Improve some exception messages when Windows fails to load an extension
|
||||||
|
module. Now we get for example '%1 is not a valid Win32 application' instead
|
||||||
|
of 'error code 193'.
|
||||||
|
|
||||||
- Bug #1481296: Fixed long(float('nan'))!=0L.
|
- Bug #1481296: Fixed long(float('nan'))!=0L.
|
||||||
|
|
||||||
- Issue #1640: Added math.isinf(x), math.isnan(x) and math.copysign(x, y)
|
- Issue #1640: Added math.isinf(x), math.isnan(x) and math.copysign(x, y)
|
||||||
|
|
|
@ -194,7 +194,8 @@ dl_funcptr _PyImport_GetDynLoadFunc(const char *fqname, const char *shortname,
|
||||||
errorCode = GetLastError();
|
errorCode = GetLastError();
|
||||||
|
|
||||||
theLength = FormatMessage(
|
theLength = FormatMessage(
|
||||||
FORMAT_MESSAGE_FROM_SYSTEM, /* flags */
|
FORMAT_MESSAGE_FROM_SYSTEM |
|
||||||
|
FORMAT_MESSAGE_IGNORE_INSERTS, /* flags */
|
||||||
NULL, /* message source */
|
NULL, /* message source */
|
||||||
errorCode, /* the message (error) ID */
|
errorCode, /* the message (error) ID */
|
||||||
0, /* default language environment */
|
0, /* default language environment */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue