|
|
@ -10,91 +10,3 @@ diff -u -r ../Python-3.4.1/Modules/posixmodule.c ./Modules/posixmodule.c |
|
|
|
ioctl(slave_fd, I_PUSH, "ptem"); /* push ptem */ |
|
|
|
ioctl(slave_fd, I_PUSH, "ldterm"); /* push ldterm */ |
|
|
|
#ifndef __hpux |
|
|
|
@@ -9162,7 +9162,12 @@
|
|
|
|
needed definitions in sys/statvfs.h */ |
|
|
|
#define _SVID3 |
|
|
|
#endif |
|
|
|
-#include <sys/statvfs.h>
|
|
|
|
+#ifdef __ANDROID__
|
|
|
|
+# include <sys/vfs.h>
|
|
|
|
+# define statvfs statfs
|
|
|
|
+#else
|
|
|
|
+# include <sys/statvfs.h>
|
|
|
|
+#endif
|
|
|
|
|
|
|
|
static PyObject* |
|
|
|
_pystatvfs_fromstructstatvfs(struct statvfs st) { |
|
|
|
@@ -9178,9 +9183,15 @@
|
|
|
|
PyStructSequence_SET_ITEM(v, 4, PyLong_FromLong((long) st.f_bavail)); |
|
|
|
PyStructSequence_SET_ITEM(v, 5, PyLong_FromLong((long) st.f_files)); |
|
|
|
PyStructSequence_SET_ITEM(v, 6, PyLong_FromLong((long) st.f_ffree)); |
|
|
|
+#ifdef __ANDROID__
|
|
|
|
+ PyStructSequence_SET_ITEM(v, 7, PyLong_FromLong((long) st.f_bavail));
|
|
|
|
+ PyStructSequence_SET_ITEM(v, 8, PyLong_FromLong((long) st.f_flags));
|
|
|
|
+ PyStructSequence_SET_ITEM(v, 9, PyLong_FromLong((long) st.f_namelen));
|
|
|
|
+#else
|
|
|
|
PyStructSequence_SET_ITEM(v, 7, PyLong_FromLong((long) st.f_favail)); |
|
|
|
PyStructSequence_SET_ITEM(v, 8, PyLong_FromLong((long) st.f_flag)); |
|
|
|
PyStructSequence_SET_ITEM(v, 9, PyLong_FromLong((long) st.f_namemax)); |
|
|
|
+#endif
|
|
|
|
#else |
|
|
|
PyStructSequence_SET_ITEM(v, 0, PyLong_FromLong((long) st.f_bsize)); |
|
|
|
PyStructSequence_SET_ITEM(v, 1, PyLong_FromLong((long) st.f_frsize)); |
|
|
|
@@ -9194,11 +9205,18 @@
|
|
|
|
PyLong_FromLongLong((PY_LONG_LONG) st.f_files)); |
|
|
|
PyStructSequence_SET_ITEM(v, 6, |
|
|
|
PyLong_FromLongLong((PY_LONG_LONG) st.f_ffree)); |
|
|
|
+#ifdef __ANDROID__
|
|
|
|
+ PyStructSequence_SET_ITEM(v, 7,
|
|
|
|
+ PyLong_FromLongLong((PY_LONG_LONG) st.b_favail));
|
|
|
|
+ PyStructSequence_SET_ITEM(v, 8, PyLong_FromLong((long) st.f_flags));
|
|
|
|
+ PyStructSequence_SET_ITEM(v, 9, PyLong_FromLong((long) st.f_namelen));
|
|
|
|
+#else
|
|
|
|
PyStructSequence_SET_ITEM(v, 7, |
|
|
|
PyLong_FromLongLong((PY_LONG_LONG) st.f_favail)); |
|
|
|
PyStructSequence_SET_ITEM(v, 8, PyLong_FromLong((long) st.f_flag)); |
|
|
|
PyStructSequence_SET_ITEM(v, 9, PyLong_FromLong((long) st.f_namemax)); |
|
|
|
#endif |
|
|
|
+#endif
|
|
|
|
if (PyErr_Occurred()) { |
|
|
|
Py_DECREF(v); |
|
|
|
return NULL; |
|
|
|
@@ -9221,7 +9239,11 @@
|
|
|
|
if (!PyArg_ParseTuple(args, "i:fstatvfs", &fd)) |
|
|
|
return NULL; |
|
|
|
Py_BEGIN_ALLOW_THREADS |
|
|
|
+#ifdef __ANDROID__
|
|
|
|
+ res = fstatfs(fd, &st);
|
|
|
|
+#else
|
|
|
|
res = fstatvfs(fd, &st); |
|
|
|
+#endif
|
|
|
|
Py_END_ALLOW_THREADS |
|
|
|
if (res != 0) |
|
|
|
return posix_error(); |
|
|
|
@@ -9232,7 +9254,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
#if defined(HAVE_STATVFS) && defined(HAVE_SYS_STATVFS_H) |
|
|
|
-#include <sys/statvfs.h>
|
|
|
|
+#ifdef __ANDROID__
|
|
|
|
+# include <sys/vfs.h>
|
|
|
|
+# define statvfs statfs
|
|
|
|
+#else
|
|
|
|
+# include <sys/statvfs.h>
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
|
|
|
|
PyDoc_STRVAR(posix_statvfs__doc__, |
|
|
|
"statvfs(path)\n\n\ |
|
|
|
@@ -9271,7 +9299,11 @@
|
|
|
|
goto exit; |
|
|
|
} |
|
|
|
#endif |
|
|
|
+#ifdef __ANDROID__
|
|
|
|
+ result = fstatfs(path.fd, &st);
|
|
|
|
+#else
|
|
|
|
result = fstatvfs(path.fd, &st); |
|
|
|
+#endif
|
|
|
|
} |
|
|
|
else |
|
|
|
#endif |
|
|
|