diff options
Diffstat (limited to 'usr/src/lib/pysolaris/common/misc.c')
-rw-r--r-- | usr/src/lib/pysolaris/common/misc.c | 36 |
1 files changed, 33 insertions, 3 deletions
diff --git a/usr/src/lib/pysolaris/common/misc.c b/usr/src/lib/pysolaris/common/misc.c index 13280d461f..211ab1b983 100644 --- a/usr/src/lib/pysolaris/common/misc.c +++ b/usr/src/lib/pysolaris/common/misc.c @@ -21,6 +21,7 @@ /* * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. + * Copyright 2018 OmniOS Community Edition (OmniOSce) Association. */ #include <Python.h> @@ -85,7 +86,7 @@ py_sid_to_name(PyObject *self, PyObject *args) return (NULL); } - ret = PyString_FromString(name); + ret = PyUnicode_FromString(name); free(name); return (ret); } @@ -121,8 +122,37 @@ static PyMethodDef solarismethods[] = { {NULL, NULL, 0, NULL} }; -void +#if PY_MAJOR_VERSION >= 3 +static struct PyModuleDef solaris_module = { + PyModuleDef_HEAD_INIT, + "solaris.misc", + NULL, + -1, + solarismethods +}; +#endif + +static PyObject * +moduleinit() +{ +#if PY_MAJOR_VERSION >= 3 + return (PyModule_Create(&solaris_module)); +#else + (void) Py_InitModule("solaris.misc", solarismethods); + return (NULL); +#endif +} + +#if PY_MAJOR_VERSION >= 3 +PyMODINIT_FUNC +PyInit_misc(void) +{ + return (moduleinit()); +} +#else +PyMODINIT_FUNC initmisc(void) { - PyObject *solaris_misc = Py_InitModule("solaris.misc", solarismethods); + (void) moduleinit(); } +#endif |