Index: Modules/dlmodule.c =================================================================== --- Modules/dlmodule.c (revision 56284) +++ Modules/dlmodule.c (working copy) @@ -58,8 +58,8 @@ { char *name; PyUnivPtr *func; - if (PyString_Check(args)) { - name = PyString_AS_STRING(args); + if (PyUnicode_Check(args)) { + name = PyUnicode_AsString(args); } else { PyErr_Format(PyExc_TypeError, "expected string, found %.200s", args->ob_type->tp_name); @@ -88,14 +88,14 @@ return NULL; } name = PyTuple_GetItem(args, 0); - if (!PyString_Check(name)) { + if (!PyUnicode_Check(name)) { PyErr_SetString(PyExc_TypeError, "function name must be a string"); return NULL; } func = (long (*)(long, long, long, long, long, long, long, long, long, long)) - dlsym(xp->dl_handle, PyString_AsString(name)); + dlsym(xp->dl_handle, PyUnicode_AsString(name)); if (func == NULL) { PyErr_SetString(PyExc_ValueError, dlerror()); return NULL; @@ -111,8 +111,8 @@ alist[i-1] = PyInt_AsLong(v); if (alist[i-1] == -1 && PyErr_Occurred()) return NULL; - } else if (PyString_Check(v)) - alist[i-1] = (long)PyString_AsString(v); + } else if (PyUnicode_Check(v)) + alist[i-1] = (long)PyUnicode_AsString(v); else if (v == Py_None) alist[i-1] = (long) ((char *)NULL); else {