diff options
author | jcea <jcea@jcea.es> | 2018-01-28 13:00:08 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-28 13:00:08 (GMT) |
commit | 6c51d518800cdda7ba16ae163be0d211d2c4fa12 (patch) | |
tree | b5f8ee9bd042849b6260d4b8b10d1ff53a75b881 /Modules/posixmodule.c | |
parent | 43c0f1ac5ed8bc9c3bd048d2ce4de4c98a83de99 (diff) | |
download | cpython-6c51d518800cdda7ba16ae163be0d211d2c4fa12.zip cpython-6c51d518800cdda7ba16ae163be0d211d2c4fa12.tar.gz cpython-6c51d518800cdda7ba16ae163be0d211d2c4fa12.tar.bz2 |
bpo-32659: Solaris "stat" should support "st_fstype" (#5307)
* bpo-32659: Solaris "stat" should support "st_fstype"
* Add 'versionadded'
Diffstat (limited to 'Modules/posixmodule.c')
-rw-r--r-- | Modules/posixmodule.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index a1a38eb..ceea855 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -394,6 +394,10 @@ static int win32_can_symlink = 0; #define MODNAME "posix" #endif +#if defined(__sun) +/* Something to implement in autoconf, not present in autoconf 2.69 */ +#define HAVE_STRUCT_STAT_ST_FSTYPE 1 +#endif #ifdef HAVE_FORK static void @@ -1789,6 +1793,9 @@ static PyStructSequence_Field stat_result_fields[] = { #ifdef HAVE_STRUCT_STAT_ST_FILE_ATTRIBUTES {"st_file_attributes", "Windows file attribute bits"}, #endif +#ifdef HAVE_STRUCT_STAT_ST_FSTYPE + {"st_fstype", "Type of filesystem"}, +#endif {0} }; @@ -1834,6 +1841,12 @@ static PyStructSequence_Field stat_result_fields[] = { #define ST_FILE_ATTRIBUTES_IDX ST_BIRTHTIME_IDX #endif +#ifdef HAVE_STRUCT_STAT_ST_FSTYPE +#define ST_FSTYPE_IDX (ST_FILE_ATTRIBUTES_IDX+1) +#else +#define ST_FSTYPE_IDX ST_FILE_ATTRIBUTES_IDX +#endif + static PyStructSequence_Desc stat_result_desc = { "stat_result", /* name */ stat_result__doc__, /* doc */ @@ -2057,6 +2070,10 @@ _pystat_fromstructstat(STRUCT_STAT *st) PyStructSequence_SET_ITEM(v, ST_FILE_ATTRIBUTES_IDX, PyLong_FromUnsignedLong(st->st_file_attributes)); #endif +#ifdef HAVE_STRUCT_STAT_ST_FSTYPE + PyStructSequence_SET_ITEM(v, ST_FSTYPE_IDX, + PyUnicode_FromString(st->st_fstype)); +#endif if (PyErr_Occurred()) { Py_DECREF(v); |