X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/blobdiff_plain/59f0d218a6ff34c80cf898f6d7ac62555ba8eb11..27e21d2d4ac520df24a31b02b0dfe8da28ae6acb:/packages/python/posixmodule.c.patch diff --git a/packages/python/posixmodule.c.patch b/packages/python/posixmodule.c.patch index ff003333..afbce08c 100644 --- a/packages/python/posixmodule.c.patch +++ b/packages/python/posixmodule.c.patch @@ -1,100 +1,51 @@ -diff -u -r ../Python-3.4.1/Modules/posixmodule.c ./Modules/posixmodule.c ---- ../Python-3.4.1/Modules/posixmodule.c 2014-05-19 07:19:39.000000000 +0200 -+++ ./Modules/posixmodule.c 2014-06-25 21:42:11.191524129 +0200 -@@ -6048,7 +6048,7 @@ - if (_Py_set_inheritable(master_fd, 0, NULL) < 0) - goto posix_error; - --#if !defined(__CYGWIN__) && !defined(HAVE_DEV_PTC) -+#if !defined(__CYGWIN__) && !defined(HAVE_DEV_PTC) && !defined(__ANDROID__) - 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 -+#ifdef __ANDROID__ -+# include -+# define statvfs statfs -+#else -+# include -+#endif +https://github.com/python/cpython/commit/50e86033de85294d87b7e942701d456342abde8e + +diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c +index e8c15a9473c..5c739180ea6 100644 +--- a/Modules/posixmodule.c ++++ b/Modules/posixmodule.c +@@ -1927,14 +1927,8 @@ _pystat_fromstructstat(STRUCT_STAT *st) + return NULL; - 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 + PyStructSequence_SET_ITEM(v, 0, PyLong_FromLong((long)st->st_mode)); +-#if defined(HAVE_LARGEFILE_SUPPORT) || defined(MS_WINDOWS) + Py_BUILD_ASSERT(sizeof(unsigned long long) >= sizeof(st->st_ino)); +- PyStructSequence_SET_ITEM(v, 1, +- PyLong_FromUnsignedLongLong(st->st_ino)); +-#else +- Py_BUILD_ASSERT(sizeof(unsigned long) >= sizeof(st->st_ino)); +- PyStructSequence_SET_ITEM(v, 1, PyLong_FromUnsignedLong(st->st_ino)); +-#endif ++ PyStructSequence_SET_ITEM(v, 1, PyLong_FromUnsignedLongLong(st->st_ino)); + #ifdef MS_WINDOWS + PyStructSequence_SET_ITEM(v, 2, PyLong_FromUnsignedLong(st->st_dev)); #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)); +@@ -1948,12 +1942,8 @@ _pystat_fromstructstat(STRUCT_STAT *st) + PyStructSequence_SET_ITEM(v, 4, _PyLong_FromUid(st->st_uid)); + PyStructSequence_SET_ITEM(v, 5, _PyLong_FromGid(st->st_gid)); #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 @@ +-#ifdef HAVE_LARGEFILE_SUPPORT +- PyStructSequence_SET_ITEM(v, 6, +- PyLong_FromLongLong((long long)st->st_size)); +-#else +- PyStructSequence_SET_ITEM(v, 6, PyLong_FromLong(st->st_size)); +-#endif ++ Py_BUILD_ASSERT(sizeof(long long) >= sizeof(st->st_size)); ++ PyStructSequence_SET_ITEM(v, 6, PyLong_FromLongLong(st->st_size)); - - #if defined(HAVE_STATVFS) && defined(HAVE_SYS_STATVFS_H) --#include -+#ifdef __ANDROID__ -+# include -+# define statvfs statfs -+#else -+# include -+#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 + #if defined(HAVE_STAT_TV_NSEC) + ansec = st->st_atim.tv_nsec; +@@ -11451,11 +11441,8 @@ os_DirEntry_inode_impl(DirEntry *self) + Py_BUILD_ASSERT(sizeof(unsigned long long) >= sizeof(self->win32_file_index)); + return PyLong_FromUnsignedLongLong(self->win32_file_index); + #else /* POSIX */ +-#ifdef HAVE_LARGEFILE_SUPPORT +- return PyLong_FromLongLong((long long)self->d_ino); +-#else +- return PyLong_FromLong((long)self->d_ino); +-#endif ++ Py_BUILD_ASSERT(sizeof(unsigned long long) >= sizeof(self->d_ino)); ++ return PyLong_FromUnsignedLongLong(self->d_ino); #endif + } +