diff Modules/_cursesmodule.c @ 56384:6b23b0eba405 3.1

Merged revisions 75248 via svnmerge from svn+ssh://pythondev@svn.python.org/python/branches/py3k ................ r75248 | benjamin.peterson | 2009-10-04 15:40:17 -0500 (Sun, 04 Oct 2009) | 11 lines Merged revisions 75066 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r75066 | andrew.kuchling | 2009-09-25 17:23:54 -0500 (Fri, 25 Sep 2009) | 4 lines #6243: fix segfault when keyname() returns a NULL pointer. Bug noted by Trundle, patched by Trundle and Jerry Chen. ........ ................
author Benjamin Peterson <benjamin@python.org>
date Sun, 04 Oct 2009 20:41:56 +0000
parents ff6eea017a7f
children 8f2d10014c08
line wrap: on
line diff
--- a/Modules/_cursesmodule.c	Sun Oct 04 20:35:30 2009 +0000
+++ b/Modules/_cursesmodule.c	Sun Oct 04 20:41:56 2009 +0000
@@ -890,14 +890,17 @@
     /* getch() returns ERR in nodelay mode */
     PyErr_SetString(PyCursesError, "no input");
     return NULL;
-  } else if (rtn<=255)
+  } else if (rtn<=255) {
     return Py_BuildValue("C", rtn);
-  else
+  } else {
+    const char *knp;
 #if defined(__NetBSD__)
-    return PyUnicode_FromString(unctrl(rtn));
+    knp = unctrl(rtn);
 #else
-    return PyUnicode_FromString((const char *)keyname(rtn));
+    knp = keyname(rtn);
 #endif
+    return PyUnicode_FromString((knp == NULL) ? "" : knp);
+  }
 }
 
 static PyObject *