Update pathpicker from 0.6.0 to 0.6.1
[termux-packages] / packages / python / posixmodule.c.patch
CommitLineData
59f0d218
FF
1diff -u -r ../Python-3.4.1/Modules/posixmodule.c ./Modules/posixmodule.c
2--- ../Python-3.4.1/Modules/posixmodule.c 2014-05-19 07:19:39.000000000 +0200
3+++ ./Modules/posixmodule.c 2014-06-25 21:42:11.191524129 +0200
4@@ -6048,7 +6048,7 @@
5 if (_Py_set_inheritable(master_fd, 0, NULL) < 0)
6 goto posix_error;
7
8-#if !defined(__CYGWIN__) && !defined(HAVE_DEV_PTC)
9+#if !defined(__CYGWIN__) && !defined(HAVE_DEV_PTC) && !defined(__ANDROID__)
10 ioctl(slave_fd, I_PUSH, "ptem"); /* push ptem */
11 ioctl(slave_fd, I_PUSH, "ldterm"); /* push ldterm */
12 #ifndef __hpux
13@@ -9162,7 +9162,12 @@
14 needed definitions in sys/statvfs.h */
15 #define _SVID3
16 #endif
17-#include <sys/statvfs.h>
18+#ifdef __ANDROID__
19+# include <sys/vfs.h>
20+# define statvfs statfs
21+#else
22+# include <sys/statvfs.h>
23+#endif
24
25 static PyObject*
26 _pystatvfs_fromstructstatvfs(struct statvfs st) {
27@@ -9178,9 +9183,15 @@
28 PyStructSequence_SET_ITEM(v, 4, PyLong_FromLong((long) st.f_bavail));
29 PyStructSequence_SET_ITEM(v, 5, PyLong_FromLong((long) st.f_files));
30 PyStructSequence_SET_ITEM(v, 6, PyLong_FromLong((long) st.f_ffree));
31+#ifdef __ANDROID__
32+ PyStructSequence_SET_ITEM(v, 7, PyLong_FromLong((long) st.f_bavail));
33+ PyStructSequence_SET_ITEM(v, 8, PyLong_FromLong((long) st.f_flags));
34+ PyStructSequence_SET_ITEM(v, 9, PyLong_FromLong((long) st.f_namelen));
35+#else
36 PyStructSequence_SET_ITEM(v, 7, PyLong_FromLong((long) st.f_favail));
37 PyStructSequence_SET_ITEM(v, 8, PyLong_FromLong((long) st.f_flag));
38 PyStructSequence_SET_ITEM(v, 9, PyLong_FromLong((long) st.f_namemax));
39+#endif
40 #else
41 PyStructSequence_SET_ITEM(v, 0, PyLong_FromLong((long) st.f_bsize));
42 PyStructSequence_SET_ITEM(v, 1, PyLong_FromLong((long) st.f_frsize));
43@@ -9194,11 +9205,18 @@
44 PyLong_FromLongLong((PY_LONG_LONG) st.f_files));
45 PyStructSequence_SET_ITEM(v, 6,
46 PyLong_FromLongLong((PY_LONG_LONG) st.f_ffree));
47+#ifdef __ANDROID__
48+ PyStructSequence_SET_ITEM(v, 7,
49+ PyLong_FromLongLong((PY_LONG_LONG) st.b_favail));
50+ PyStructSequence_SET_ITEM(v, 8, PyLong_FromLong((long) st.f_flags));
51+ PyStructSequence_SET_ITEM(v, 9, PyLong_FromLong((long) st.f_namelen));
52+#else
53 PyStructSequence_SET_ITEM(v, 7,
54 PyLong_FromLongLong((PY_LONG_LONG) st.f_favail));
55 PyStructSequence_SET_ITEM(v, 8, PyLong_FromLong((long) st.f_flag));
56 PyStructSequence_SET_ITEM(v, 9, PyLong_FromLong((long) st.f_namemax));
57 #endif
58+#endif
59 if (PyErr_Occurred()) {
60 Py_DECREF(v);
61 return NULL;
62@@ -9221,7 +9239,11 @@
63 if (!PyArg_ParseTuple(args, "i:fstatvfs", &fd))
64 return NULL;
65 Py_BEGIN_ALLOW_THREADS
66+#ifdef __ANDROID__
67+ res = fstatfs(fd, &st);
68+#else
69 res = fstatvfs(fd, &st);
70+#endif
71 Py_END_ALLOW_THREADS
72 if (res != 0)
73 return posix_error();
74@@ -9232,7 +9254,13 @@
75
76
77 #if defined(HAVE_STATVFS) && defined(HAVE_SYS_STATVFS_H)
78-#include <sys/statvfs.h>
79+#ifdef __ANDROID__
80+# include <sys/vfs.h>
81+# define statvfs statfs
82+#else
83+# include <sys/statvfs.h>
84+#endif
85+
86
87 PyDoc_STRVAR(posix_statvfs__doc__,
88 "statvfs(path)\n\n\
89@@ -9271,7 +9299,11 @@
90 goto exit;
91 }
92 #endif
93+#ifdef __ANDROID__
94+ result = fstatfs(path.fd, &st);
95+#else
96 result = fstatvfs(path.fd, &st);
97+#endif
98 }
99 else
100 #endif