|
Orion Poplawski |
1a2f805 |
From 706f1b397df09a27ab8981ab9464547028d0c322 Mon Sep 17 00:00:00 2001
|
|
Orion Poplawski |
1a2f805 |
From: David Gobbi <david.gobbi@gmail.com>
|
|
Orion Poplawski |
1a2f805 |
Date: Wed, 11 Jul 2018 17:14:50 -0600
|
|
Orion Poplawski |
1a2f805 |
Subject: [PATCH] Fix compilation issue due to Python3.7 API change
|
|
Orion Poplawski |
1a2f805 |
|
|
Orion Poplawski |
1a2f805 |
The PyUnicode_AsUTF8() method returns a "const char *" in Py37.
|
|
Orion Poplawski |
1a2f805 |
---
|
|
Orion Poplawski |
1a2f805 |
Wrapping/PythonCore/vtkPythonArgs.cxx | 10 +++++++++-
|
|
Orion Poplawski |
1a2f805 |
1 file changed, 9 insertions(+), 1 deletion(-)
|
|
Orion Poplawski |
1a2f805 |
|
|
Orion Poplawski |
1a2f805 |
diff --git a/Wrapping/PythonCore/vtkPythonArgs.cxx b/Wrapping/PythonCore/vtkPythonArgs.cxx
|
|
Orion Poplawski |
1a2f805 |
index 1a82af0802..b733458975 100644
|
|
Orion Poplawski |
1a2f805 |
--- a/Wrapping/PythonCore/vtkPythonArgs.cxx
|
|
Orion Poplawski |
1a2f805 |
+++ b/Wrapping/PythonCore/vtkPythonArgs.cxx
|
|
Orion Poplawski |
1a2f805 |
@@ -95,13 +95,21 @@ bool vtkPythonGetStringValue(PyObject *o, T *&a, const char *exctext)
|
|
Orion Poplawski |
1a2f805 |
{
|
|
Orion Poplawski |
1a2f805 |
if (PyBytes_Check(o))
|
|
Orion Poplawski |
1a2f805 |
{
|
|
Orion Poplawski |
1a2f805 |
+#if PY_VERSION_HEX >= 0x03070000
|
|
Orion Poplawski |
1a2f805 |
+ a = const_cast<char *>(PyBytes_AS_STRING(o));
|
|
Orion Poplawski |
1a2f805 |
+ return true;
|
|
Orion Poplawski |
1a2f805 |
+#else
|
|
Orion Poplawski |
1a2f805 |
a = PyBytes_AS_STRING(o);
|
|
Orion Poplawski |
1a2f805 |
return true;
|
|
Orion Poplawski |
1a2f805 |
+#endif
|
|
Orion Poplawski |
1a2f805 |
}
|
|
Orion Poplawski |
1a2f805 |
#ifdef Py_USING_UNICODE
|
|
Orion Poplawski |
1a2f805 |
else if (PyUnicode_Check(o))
|
|
Orion Poplawski |
1a2f805 |
{
|
|
Orion Poplawski |
1a2f805 |
-#if PY_VERSION_HEX >= 0x03030000
|
|
Orion Poplawski |
1a2f805 |
+#if PY_VERSION_HEX >= 0x03070000
|
|
Orion Poplawski |
1a2f805 |
+ a = const_cast<char *>(PyUnicode_AsUTF8(o));
|
|
Orion Poplawski |
1a2f805 |
+ return true;
|
|
Orion Poplawski |
1a2f805 |
+#elif PY_VERSION_HEX >= 0x03030000
|
|
Orion Poplawski |
1a2f805 |
a = PyUnicode_AsUTF8(o);
|
|
Orion Poplawski |
1a2f805 |
return true;
|
|
Orion Poplawski |
1a2f805 |
#else
|
|
Orion Poplawski |
1a2f805 |
--
|
|
Orion Poplawski |
1a2f805 |
2.18.1
|
|
Orion Poplawski |
1a2f805 |
|