summaryrefslogtreecommitdiff
path: root/psutil/_psutil_sunos.c
diff options
context:
space:
mode:
authorGiampaolo Rodola <g.rodola@gmail.com>2017-05-02 05:32:12 +0200
committerGiampaolo Rodola <g.rodola@gmail.com>2017-05-02 05:32:12 +0200
commit9c6e126e57ae87eddc43cfcb96e655e0b88f5308 (patch)
treea193b123a2716e09a5b010d357e5e0e2c22a9dd1 /psutil/_psutil_sunos.c
parenta769d80bb56c76afe7b81664aa0d03e68aef14de (diff)
downloadpsutil-9c6e126e57ae87eddc43cfcb96e655e0b88f5308.tar.gz
#1040: remove dead unicode C code
Diffstat (limited to 'psutil/_psutil_sunos.c')
-rw-r--r--psutil/_psutil_sunos.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/psutil/_psutil_sunos.c b/psutil/_psutil_sunos.c
index 3e2262ff..6a0471d8 100644
--- a/psutil/_psutil_sunos.c
+++ b/psutil/_psutil_sunos.c
@@ -130,17 +130,19 @@ psutil_proc_name_and_args(PyObject *self, PyObject *args) {
if (! psutil_file_to_struct(path, (void *)&info, sizeof(info)))
return NULL;
-#if PY_MAJOR_VERSION >= 3
+ // TODO: probably have to Py_INCREF here.
py_name = PyUnicode_DecodeFSDefault(info.pr_fname);
if (!py_name)
- return NULL;
+ goto error;
py_args = PyUnicode_DecodeFSDefault(info.pr_psargs);
if (!py_args)
- return NULL;
+ goto error;
return Py_BuildValue("OO", py_name, py_args);
-#else
- return Py_BuildValue("ss", info.pr_fname, info.pr_psargs);
-#endif
+
+error:
+ Py_XDECREF(py_name);
+ Py_XDECREF(py_args);
+ return NULL;
}