From b0858fdc3790ef1d1f955bd584621c6fd539050d Mon Sep 17 00:00:00 2001 From: Alexander Pyhalov Date: Tue, 14 Jan 2020 21:23:25 +0300 Subject: 11522 illumos-gate has some runtime dependencies on Python 2.7 12192 python3 modules treat strings incorrectly Reviewed by: Andrew Stormont Reviewed by: Andy Fiddaman Reviewed by: Hans Rosenfeld Reviewed by: Toomas Soome Approved by: Dan McDonald --- usr/src/lib/pyzfs/common/ioctl.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'usr/src/lib/pyzfs/common/ioctl.c') diff --git a/usr/src/lib/pyzfs/common/ioctl.c b/usr/src/lib/pyzfs/common/ioctl.c index 55c03fc2b8..a931a7bb69 100644 --- a/usr/src/lib/pyzfs/common/ioctl.c +++ b/usr/src/lib/pyzfs/common/ioctl.c @@ -144,7 +144,7 @@ dict2nvl(PyObject *d) while (PyDict_Next(d, &pos, &key, &value)) { #if PY_MAJOR_VERSION >= 3 - char *keystr = PyBytes_AsString(key); + char *keystr = PyUnicode_AsUTF8(key); #else char *keystr = PyString_AsString(key); #endif @@ -161,12 +161,12 @@ dict2nvl(PyObject *d) } else if (value == Py_None) { err = nvlist_add_boolean(nvl, keystr); #if PY_MAJOR_VERSION >= 3 - } else if (PyBytes_Check(value)) { + } else if (PyUnicode_Check(value)) { #else } else if (PyString_Check(value)) { #endif #if PY_MAJOR_VERSION >= 3 - char *valstr = PyBytes_AsString(value); + char *valstr = PyUnicode_AsUTF8(value); #else char *valstr = PyString_AsString(value); #endif -- cgit v1.2.3