mirror of
https://github.com/python/cpython.git
synced 2026-03-06 13:00:50 +00:00
SF patch #474590 -- RISC OS support
This commit is contained in:
parent
c6ac8a78f6
commit
e2ae77b8b8
33 changed files with 256 additions and 188 deletions
|
|
@ -13,6 +13,10 @@
|
|||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#ifdef RISCOS
|
||||
#include "unixstuff.h"
|
||||
#endif
|
||||
|
||||
/* The default encoding used by the platform file system APIs
|
||||
Can remain NULL for all platforms that don't have such a concept
|
||||
*/
|
||||
|
|
@ -536,7 +540,9 @@ builtin_execfile(PyObject *self, PyObject *args)
|
|||
FILE* fp = NULL;
|
||||
PyCompilerFlags cf;
|
||||
int exists;
|
||||
#ifndef RISCOS
|
||||
struct stat s;
|
||||
#endif
|
||||
|
||||
if (!PyArg_ParseTuple(args, "s|O!O!:execfile",
|
||||
&filename,
|
||||
|
|
@ -558,12 +564,21 @@ builtin_execfile(PyObject *self, PyObject *args)
|
|||
|
||||
exists = 0;
|
||||
/* Test for existence or directory. */
|
||||
#ifndef RISCOS
|
||||
if (!stat(filename, &s)) {
|
||||
if (S_ISDIR(s.st_mode))
|
||||
errno = EISDIR;
|
||||
else
|
||||
exists = 1;
|
||||
}
|
||||
#else
|
||||
if (object_exists(filename)) {
|
||||
if (isdir(filename))
|
||||
errno = EISDIR;
|
||||
else
|
||||
exists = 1;
|
||||
}
|
||||
#endif /* RISCOS */
|
||||
|
||||
if (exists) {
|
||||
Py_BEGIN_ALLOW_THREADS
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue