mirror of
https://github.com/python/cpython.git
synced 2025-07-29 14:15:07 +00:00
Issue #4915: Port sysmodule to Windows CE.
This commit is contained in:
parent
51a37034db
commit
1b3bef21b0
2 changed files with 14 additions and 3 deletions
|
@ -12,6 +12,8 @@ What's New in Python 2.7 alpha 1
|
||||||
Core and Builtins
|
Core and Builtins
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
- Issue #4915: Port sysmodule to Windows CE.
|
||||||
|
|
||||||
- Issue #4074: Change the criteria for doing a full garbage collection (i.e.
|
- Issue #4074: Change the criteria for doing a full garbage collection (i.e.
|
||||||
collecting the oldest generation) so that allocating lots of objects without
|
collecting the oldest generation) so that allocating lots of objects without
|
||||||
destroying them does not show quadratic performance. Based on a proposal by
|
destroying them does not show quadratic performance. Based on a proposal by
|
||||||
|
|
|
@ -1296,8 +1296,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)) {
|
||||||
|
@ -1307,6 +1312,7 @@ _PySys_Init(void)
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Closing the standard FILE* if sys.std* goes aways causes problems
|
/* Closing the standard FILE* if sys.std* goes aways causes problems
|
||||||
* for embedded Python usages. Closing them when somebody explicitly
|
* for embedded Python usages. Closing them when somebody explicitly
|
||||||
|
@ -1526,7 +1532,7 @@ PySys_SetArgv(int argc, char **argv)
|
||||||
{
|
{
|
||||||
#if defined(HAVE_REALPATH)
|
#if defined(HAVE_REALPATH)
|
||||||
char fullpath[MAXPATHLEN];
|
char fullpath[MAXPATHLEN];
|
||||||
#elif defined(MS_WINDOWS)
|
#elif defined(MS_WINDOWS) && !defined(MS_WINCE)
|
||||||
char fullpath[MAX_PATH];
|
char fullpath[MAX_PATH];
|
||||||
#endif
|
#endif
|
||||||
PyObject *av = makeargvobject(argc, argv);
|
PyObject *av = makeargvobject(argc, argv);
|
||||||
|
@ -1571,7 +1577,10 @@ PySys_SetArgv(int argc, char **argv)
|
||||||
#if SEP == '\\' /* Special case for MS filename syntax */
|
#if SEP == '\\' /* Special case for MS filename syntax */
|
||||||
if (argc > 0 && argv0 != NULL && strcmp(argv0, "-c") != 0) {
|
if (argc > 0 && argv0 != NULL && strcmp(argv0, "-c") != 0) {
|
||||||
char *q;
|
char *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. */
|
||||||
char *ptemp;
|
char *ptemp;
|
||||||
if (GetFullPathName(argv0,
|
if (GetFullPathName(argv0,
|
||||||
sizeof(fullpath),
|
sizeof(fullpath),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue