Mercurial > cpython-lru_cache-weakref
annotate Python/strerror.c @ 41636:be1e708d5d3d 2.5
Fix NonRecursiveMutex on x64. The signature of the faux-InterlockedCompareExchange function was wrong: It works with LONG and not PVOID objects, and it needs to have the target marked as volatile. Further, it is not needed at all for x64 targets, since that platform always has the real McCoy.
| author | Kristján Valur Jónsson <kristjan@ccpgames.com> |
|---|---|
| date | Mon, 07 May 2007 18:28:12 +0000 |
| parents | 86fdf8fe7f17 |
| children |
| rev | line source |
|---|---|
| 145 | 1 |
|
61
5c4dd9348e81
Added provision for THINK C which doesn't have sys_nerrors or sys_errlist.
Guido van Rossum <guido@python.org>
parents:
6
diff
changeset
|
2 /* PD implementation of strerror() for systems that don't have it. |
| 6 | 3 Author: Guido van Rossum, CWI Amsterdam, Oct. 1990, <guido@cwi.nl>. */ |
| 4 | |
| 5 #include <stdio.h> | |
|
21077
379fc66f4c96
Use PyOS_snprintf instead of sprintf.
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
14375
diff
changeset
|
6 #include "Python.h" |
| 6 | 7 |
| 8 extern int sys_nerr; | |
| 9 extern char *sys_errlist[]; | |
| 10 | |
| 11 char * | |
|
13658
f79434ee41fa
Mass ANSIfication of function definitions. Doesn't cover all 'extern'
Thomas Wouters <thomas@python.org>
parents:
13256
diff
changeset
|
12 strerror(int err) |
| 6 | 13 { |
| 14 static char buf[20]; | |
| 15 if (err >= 0 && err < sys_nerr) | |
| 16 return sys_errlist[err]; | |
|
21077
379fc66f4c96
Use PyOS_snprintf instead of sprintf.
Jeremy Hylton <jeremy@alum.mit.edu>
parents:
14375
diff
changeset
|
17 PyOS_snprintf(buf, sizeof(buf), "Unknown errno %d", err); |
| 6 | 18 return buf; |
| 19 } |
