mirror of
https://github.com/python/cpython.git
synced 2025-07-24 03:35:53 +00:00
Add fstat() if using GUSI
This commit is contained in:
parent
c2952bcbb2
commit
40bd770690
1 changed files with 29 additions and 24 deletions
|
@ -72,6 +72,9 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
#if defined(MPW) || defined(USE_GUSI)
|
#if defined(MPW) || defined(USE_GUSI)
|
||||||
#define WEHAVE_DUP
|
#define WEHAVE_DUP
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(USE_GUSI)
|
||||||
|
#define WEHAVE_FSTAT
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "macdefs.h"
|
#include "macdefs.h"
|
||||||
#ifdef USE_GUSI
|
#ifdef USE_GUSI
|
||||||
|
@ -449,7 +452,6 @@ mac_stat(self, args)
|
||||||
Py_END_ALLOW_THREADS
|
Py_END_ALLOW_THREADS
|
||||||
if (res != 0)
|
if (res != 0)
|
||||||
return mac_error();
|
return mac_error();
|
||||||
#if 1
|
|
||||||
return Py_BuildValue("(lllllllddd)",
|
return Py_BuildValue("(lllllllddd)",
|
||||||
(long)st.st_mode,
|
(long)st.st_mode,
|
||||||
(long)st.st_ino,
|
(long)st.st_ino,
|
||||||
|
@ -461,8 +463,25 @@ mac_stat(self, args)
|
||||||
(double)st.st_atime,
|
(double)st.st_atime,
|
||||||
(double)st.st_mtime,
|
(double)st.st_mtime,
|
||||||
(double)st.st_ctime);
|
(double)st.st_ctime);
|
||||||
#else
|
}
|
||||||
return Py_BuildValue("(llllllllll)",
|
|
||||||
|
#ifdef WEHAVE_FSTAT
|
||||||
|
static PyObject *
|
||||||
|
mac_fstat(self, args)
|
||||||
|
PyObject *self;
|
||||||
|
PyObject *args;
|
||||||
|
{
|
||||||
|
struct stat st;
|
||||||
|
long fd;
|
||||||
|
int res;
|
||||||
|
if (!PyArg_Parse(args, "l", &fd))
|
||||||
|
return NULL;
|
||||||
|
Py_BEGIN_ALLOW_THREADS
|
||||||
|
res = fstat((int)fd, &st);
|
||||||
|
Py_END_ALLOW_THREADS
|
||||||
|
if (res != 0)
|
||||||
|
return mac_error();
|
||||||
|
return Py_BuildValue("(lllllllddd)",
|
||||||
(long)st.st_mode,
|
(long)st.st_mode,
|
||||||
(long)st.st_ino,
|
(long)st.st_ino,
|
||||||
(long)st.st_dev,
|
(long)st.st_dev,
|
||||||
|
@ -470,11 +489,11 @@ mac_stat(self, args)
|
||||||
(long)st.st_uid,
|
(long)st.st_uid,
|
||||||
(long)st.st_gid,
|
(long)st.st_gid,
|
||||||
(long)st.st_size,
|
(long)st.st_size,
|
||||||
(long)st.st_atime,
|
(double)st.st_atime,
|
||||||
(long)st.st_mtime,
|
(double)st.st_mtime,
|
||||||
(long)st.st_ctime);
|
(double)st.st_ctime);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#endif /* WEHAVE_FSTAT */
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
mac_xstat(self, args)
|
mac_xstat(self, args)
|
||||||
|
@ -502,7 +521,6 @@ mac_xstat(self, args)
|
||||||
Py_END_ALLOW_THREADS
|
Py_END_ALLOW_THREADS
|
||||||
if (res != 0)
|
if (res != 0)
|
||||||
return mac_error();
|
return mac_error();
|
||||||
#if 1
|
|
||||||
return Py_BuildValue("(llllllldddls#s#)",
|
return Py_BuildValue("(llllllldddls#s#)",
|
||||||
(long)st.st_mode,
|
(long)st.st_mode,
|
||||||
(long)st.st_ino,
|
(long)st.st_ino,
|
||||||
|
@ -517,22 +535,6 @@ mac_xstat(self, args)
|
||||||
(long)mst.st_rsize,
|
(long)mst.st_rsize,
|
||||||
mst.st_creator, 4,
|
mst.st_creator, 4,
|
||||||
mst.st_type, 4);
|
mst.st_type, 4);
|
||||||
#else
|
|
||||||
return Py_BuildValue("(llllllllllls#s#)",
|
|
||||||
(long)st.st_mode,
|
|
||||||
(long)st.st_ino,
|
|
||||||
(long)st.st_dev,
|
|
||||||
(long)st.st_nlink,
|
|
||||||
(long)st.st_uid,
|
|
||||||
(long)st.st_gid,
|
|
||||||
(long)st.st_size,
|
|
||||||
(long)st.st_atime,
|
|
||||||
(long)st.st_mtime,
|
|
||||||
(long)st.st_ctime,
|
|
||||||
(long)mst.st_rsize,
|
|
||||||
mst.st_creator, 4,
|
|
||||||
mst.st_type, 4);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
|
@ -597,6 +599,9 @@ static struct PyMethodDef mac_methods[] = {
|
||||||
#endif
|
#endif
|
||||||
#ifdef WEHAVE_FDOPEN
|
#ifdef WEHAVE_FDOPEN
|
||||||
{"fdopen", mac_fdopen},
|
{"fdopen", mac_fdopen},
|
||||||
|
#endif
|
||||||
|
#ifdef WEHAVE_FSTAT
|
||||||
|
{"fstat", mac_fstat},
|
||||||
#endif
|
#endif
|
||||||
{"getbootvol", mac_getbootvol}, /* non-standard */
|
{"getbootvol", mac_getbootvol}, /* non-standard */
|
||||||
{"getcwd", mac_getcwd},
|
{"getcwd", mac_getcwd},
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue