Merged revisions 68540 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r68540 | martin.v.loewis | 2009-01-12 08:57:11 +0100 (Mo, 12 Jan 2009) | 2 lines Issue #4915: Port sysmodule to Windows CE. ........
This commit is contained in:
parent
de3369f2ca
commit
ec59d04fad
|
@ -12,6 +12,8 @@ What's New in Python 3.1 alpha 0
|
||||||
Core and Builtins
|
Core and Builtins
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
- Issue #4915: Port sysmodule to Windows CE.
|
||||||
|
|
||||||
- Issue #4868: utf-8, utf-16 and latin1 decoding are now 2x to 4x faster. The
|
- Issue #4868: utf-8, utf-16 and latin1 decoding are now 2x to 4x faster. The
|
||||||
common cases are optimized thanks to a dedicated fast path and a moderate
|
common cases are optimized thanks to a dedicated fast path and a moderate
|
||||||
amount of loop unrolling.
|
amount of loop unrolling.
|
||||||
|
|
|
@ -1257,8 +1257,13 @@ _PySys_Init(void)
|
||||||
PyDict_SetItemString(sysdict, key, v); \
|
PyDict_SetItemString(sysdict, key, v); \
|
||||||
Py_XDECREF(v)
|
Py_XDECREF(v)
|
||||||
|
|
||||||
|
/* Check that stdin is not a directory
|
||||||
|
Using shell redirection, you can redirect stdin to a directory,
|
||||||
|
crashing the Python interpreter. Catch this common mistake here
|
||||||
|
and output a useful error message. Note that under MS Windows,
|
||||||
|
the shell already prevents that. */
|
||||||
|
#if !defined(MS_WINDOWS)
|
||||||
{
|
{
|
||||||
/* XXX: does this work on Win/Win64? (see posix_fstat) */
|
|
||||||
struct stat sb;
|
struct stat sb;
|
||||||
if (fstat(fileno(stdin), &sb) == 0 &&
|
if (fstat(fileno(stdin), &sb) == 0 &&
|
||||||
S_ISDIR(sb.st_mode)) {
|
S_ISDIR(sb.st_mode)) {
|
||||||
|
@ -1268,6 +1273,7 @@ _PySys_Init(void)
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* stdin/stdout/stderr are now set by pythonrun.c */
|
/* stdin/stdout/stderr are now set by pythonrun.c */
|
||||||
|
|
||||||
|
@ -1483,7 +1489,7 @@ PySys_SetArgv(int argc, wchar_t **argv)
|
||||||
{
|
{
|
||||||
#if defined(HAVE_REALPATH)
|
#if defined(HAVE_REALPATH)
|
||||||
wchar_t fullpath[MAXPATHLEN];
|
wchar_t fullpath[MAXPATHLEN];
|
||||||
#elif defined(MS_WINDOWS)
|
#elif defined(MS_WINDOWS) && !defined(MS_WINCE)
|
||||||
wchar_t fullpath[MAX_PATH];
|
wchar_t fullpath[MAX_PATH];
|
||||||
#endif
|
#endif
|
||||||
PyObject *av = makeargvobject(argc, argv);
|
PyObject *av = makeargvobject(argc, argv);
|
||||||
|
@ -1529,7 +1535,10 @@ PySys_SetArgv(int argc, wchar_t **argv)
|
||||||
#if SEP == '\\' /* Special case for MS filename syntax */
|
#if SEP == '\\' /* Special case for MS filename syntax */
|
||||||
if (argc > 0 && argv0 != NULL && wcscmp(argv0, L"-c") != 0) {
|
if (argc > 0 && argv0 != NULL && wcscmp(argv0, L"-c") != 0) {
|
||||||
wchar_t *q;
|
wchar_t *q;
|
||||||
#ifdef MS_WINDOWS
|
#if defined(MS_WINDOWS) && !defined(MS_WINCE)
|
||||||
|
/* This code here replaces the first element in argv with the full
|
||||||
|
path that it represents. Under CE, there are no relative paths so
|
||||||
|
the argument must be the full path anyway. */
|
||||||
wchar_t *ptemp;
|
wchar_t *ptemp;
|
||||||
if (GetFullPathNameW(argv0,
|
if (GetFullPathNameW(argv0,
|
||||||
sizeof(fullpath)/sizeof(fullpath[0]),
|
sizeof(fullpath)/sizeof(fullpath[0]),
|
||||||
|
|
Loading…
Reference in New Issue