64 lines
2.7 KiB
Diff
64 lines
2.7 KiB
Diff
(only includes changes to _scandir.c, others are irrelevant)
|
||
|
||
From 3396aa4155ffde8600a0e9ca50d5872569169b5d Mon Sep 17 00:00:00 2001
|
||
From: Ben Hoyt <benhoyt@gmail.com>
|
||
Date: Mon, 24 Jan 2022 08:44:07 +1300
|
||
Subject: [PATCH] Add Python 3.10 to tests (#137)
|
||
MIME-Version: 1.0
|
||
Content-Type: text/plain; charset=UTF-8
|
||
Content-Transfer-Encoding: 8bit
|
||
|
||
Fix PyStructSequence_UnnamedField build issues on Python 3.9/3.10
|
||
|
||
_scandir.c:663:7: error: conflicting type qualifiers for ‘PyStructSequence_UnnamedField’
|
||
663 | char *PyStructSequence_UnnamedField = "unnamed field";
|
||
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
In file included from /usr/local/include/python3.10/Python.h:127,
|
||
from _scandir.c:14:
|
||
/usr/local/include/python3.10/structseq.h:22:27: note: previous declaration of ‘PyStructSequence_UnnamedField’ was here
|
||
22 | extern const char * const PyStructSequence_UnnamedField;
|
||
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
||
Fixes https://github.com/benhoyt/scandir/pull/137
|
||
---
|
||
.github/workflows/tests.yml | 2 +-
|
||
_scandir.c | 10 +++++-----
|
||
scandir.py | 2 +-
|
||
3 files changed, 7 insertions(+), 7 deletions(-)
|
||
|
||
diff --git a/_scandir.c b/_scandir.c
|
||
index 6cc28c8..433483f 100644
|
||
--- a/_scandir.c
|
||
+++ b/_scandir.c
|
||
@@ -660,7 +660,7 @@ _pystat_fromstructstat(STRUCT_STAT *st)
|
||
return v;
|
||
}
|
||
|
||
-char *PyStructSequence_UnnamedField = "unnamed field";
|
||
+static char *scandir_unnamed_field = "unnamed field";
|
||
|
||
PyDoc_STRVAR(stat_result__doc__,
|
||
"stat_result: Result from stat, fstat, or lstat.\n\n\
|
||
@@ -681,7 +681,7 @@ static PyStructSequence_Field stat_result_fields[] = {
|
||
{"st_uid", "user ID of owner"},
|
||
{"st_gid", "group ID of owner"},
|
||
{"st_size", "total size, in bytes"},
|
||
- /* The NULL is replaced with PyStructSequence_UnnamedField later. */
|
||
+ /* The NULL is replaced with scandir_unnamed_field later. */
|
||
{NULL, "integer time of last access"},
|
||
{NULL, "integer time of last modification"},
|
||
{NULL, "integer time of last change"},
|
||
@@ -1817,9 +1817,9 @@ init_scandir(void)
|
||
if (!billion)
|
||
INIT_ERROR;
|
||
|
||
- stat_result_desc.fields[7].name = PyStructSequence_UnnamedField;
|
||
- stat_result_desc.fields[8].name = PyStructSequence_UnnamedField;
|
||
- stat_result_desc.fields[9].name = PyStructSequence_UnnamedField;
|
||
+ stat_result_desc.fields[7].name = scandir_unnamed_field;
|
||
+ stat_result_desc.fields[8].name = scandir_unnamed_field;
|
||
+ stat_result_desc.fields[9].name = scandir_unnamed_field;
|
||
PyStructSequence_InitType(&StatResultType, &stat_result_desc);
|
||
structseq_new = StatResultType.tp_new;
|
||
StatResultType.tp_new = statresult_new;
|