Mercurial > cpython-lru_cache-weakref
view Python/strerror.c @ 16357:9f2ca855fa44 legacy-trunk
Enforce two illegal import statements that were outlawed in the
reference manual but not checked: Names bound by import statemants may
not occur in global statements in the same scope. The from ... import *
form may only occur in a module scope.
I guess these changes could break code, but the reference manual
warned about them.
Several other small changes
If a variable is declared global in the nearest enclosing scope of a
free variable, then treat it is a global in the nested scope too.
Get rid of com_mangle and symtable_mangle functions and call mangle
directly.
If errors occur during symtable table creation, return -1 from
symtable_build().
Do not increment st_errors in assignment to lambda, because exception
is not set.
Add extra argument to symtable_assign(); the argument, flag, is ORed
with DEF_LOCAL for each symtable_add_def() call.
| author | Jeremy Hylton <jeremy@alum.mit.edu> |
|---|---|
| date | Tue, 30 Jan 2001 01:24:43 +0000 |
| parents | 6f6f965c5e2d |
| children | 379fc66f4c96 |
line wrap: on
line source
/* PD implementation of strerror() for systems that don't have it. Author: Guido van Rossum, CWI Amsterdam, Oct. 1990, <guido@cwi.nl>. */ #include <stdio.h> extern int sys_nerr; extern char *sys_errlist[]; char * strerror(int err) { static char buf[20]; if (err >= 0 && err < sys_nerr) return sys_errlist[err]; sprintf(buf, "Unknown errno %d", err); return buf; } #ifdef macintosh int sys_nerr = 0; char *sys_errlist[1] = 0; #endif
