From 527115ef6783cec49e5610c523c124b399011361 Mon Sep 17 00:00:00 2001 From: Jaipaul Cheernam Date: Tue, 11 Aug 2026 15:34:33 +0200 Subject: [PATCH] pylibfdt: Replace removed SWIG Python 2 compatibility macros MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SWIG 4.5.0 removed Python 2 compatibility macros (PyInt_*, PyString_*) from its runtime header pyhead.swg (see commit 79f7a2b7cb7d). Replace them with their Python 3 C API equivalents: - PyString_FromString -> PyUnicode_FromString - PyString_AsString -> PyBytes_AsString - PyInt_AsLong -> PyLong_AsLong The replacements are safe since the macros were already aliased to these exact functions in SWIG's Python 3 code path. This is a backport of dtc commit 5008d1d6a356 ("pylibfdt: Replace removed SWIG Python 2 compatibility macros"). Signed-off-by: Jaipaul Cheernam Reviewed-by: Jérémie Dautheribes Tested-by: Jérémie Dautheribes Signed-off-by: Peter Robinson Reviewed-by: Peter Robinson --- scripts/dtc/pylibfdt/libfdt.i_shipped | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/dtc/pylibfdt/libfdt.i_shipped b/scripts/dtc/pylibfdt/libfdt.i_shipped index e4659489a96..326a15c7941 100644 --- a/scripts/dtc/pylibfdt/libfdt.i_shipped +++ b/scripts/dtc/pylibfdt/libfdt.i_shipped @@ -1033,7 +1033,7 @@ typedef uint32_t fdt32_t; PyObject *buff; if ($1) { - resultobj = PyString_FromString( + resultobj = PyUnicode_FromString( fdt_string(fdt1, fdt32_to_cpu($1->nameoff))); buff = PyByteArray_FromStringAndSize( (const char *)($1 + 1), fdt32_to_cpu($1->len)); @@ -1064,13 +1064,13 @@ typedef uint32_t fdt32_t; } $1 = PyBytes_AsString($input); %#else - $1 = PyString_AsString($input); /* char *str */ + $1 = PyBytes_AsString($input); /* char *str */ %#endif } /* typemaps used for fdt_next_node() */ %typemap(in, numinputs=1) int *depth (int depth) { - depth = (int) PyInt_AsLong($input); + depth = (int) PyLong_AsLong($input); $1 = &depth; }