mirror of
https://git.freebsd.org/ports.git
synced 2025-06-07 13:50:38 -04:00
61 lines
1.4 KiB
C++
61 lines
1.4 KiB
C++
--- core/src/plugins/dird/python-dir.cc 2020-01-31 11:21:18.000000000 -0500
|
|
+++ core/src/plugins/dird/python-dir.cc 2020-01-31 15:50:39.024455000 -0500
|
|
@@ -41,6 +41,13 @@
|
|
#error "Need at least Python version 2.6 or newer"
|
|
#endif
|
|
|
|
+#if (PY_VERSION_HEX > 0x03050000)
|
|
+#define PyInt_AsLong PyLong_AsLong
|
|
+#define PyInt_FromLong PyLong_FromLong
|
|
+#define PyString_AsString PyUnicode_AsUTF8
|
|
+#define PyString_FromString PyUnicode_FromString
|
|
+#endif
|
|
+
|
|
#include "python-dir.h"
|
|
#include "lib/edit.h"
|
|
|
|
@@ -121,6 +128,20 @@
|
|
*/
|
|
static PyThreadState* mainThreadState;
|
|
|
|
+#if (PY_VERSION_HEX > 0x03050000)
|
|
+static struct PyModuleDef BareosDIRModuleDef = {
|
|
+ PyModuleDef_HEAD_INIT,
|
|
+ "bareosdir",
|
|
+ NULL,
|
|
+ -1,
|
|
+ BareosDIRMethods,
|
|
+ NULL,
|
|
+ NULL,
|
|
+ NULL,
|
|
+ NULL
|
|
+};
|
|
+#endif
|
|
+
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
@@ -660,7 +681,11 @@
|
|
/*
|
|
* Make our callback methods available for Python.
|
|
*/
|
|
+#if (PY_VERSION_HEX > 0x03050000)
|
|
+ p_ctx->pInstance = PyModule_Create(&BareosDIRModuleDef);
|
|
+#else
|
|
p_ctx->pInstance = Py_InitModule("bareosdir", BareosDIRMethods);
|
|
+#endif
|
|
}
|
|
|
|
/*
|
|
@@ -939,7 +964,11 @@
|
|
char* value;
|
|
|
|
ctx = PyGetbpContext(pyCtx);
|
|
+#if (PY_VERSION_HEX > 0x03050000)
|
|
+ value = strdup(PyString_AsString(pyValue));
|
|
+#else
|
|
value = PyString_AsString(pyValue);
|
|
+#endif
|
|
if (value) {
|
|
retval = bfuncs->setBareosValue(ctx, (bwDirVariable)var, value);
|
|
}
|