@@ -12,12 +12,13 @@ void pry_eval_file(FILE *f, const char *file, int argn, const char *argv)
1212 xargv[argn] = NULL;
1313 PySys_SetArgvEx(argn, xargv, 1);
1414 PyRun_AnyFile(f, file);
15+
1516}
1617
1718const char *pry_eval(const char *code, int start)
1819{
1920
20− PyObject *m, *d, *s, *v;
21+ PyObject *m, *d, *s, *t, *v;
2122 PyObject *c;
2223 m = PyImport_AddModule("__main__");
2324
@@ -43,9 +44,19 @@ const char *pry_eval(const char *code, int start)
4344 PyErr_Print();
4445 return NULL;
4546 }
46− char *str = PyBytes_AS_STRING(s);
47+
48+ t = PyUnicode_AsUTF8String(s);
49+ if (t == NULL)
50+ {
51+ PyErr_Print();
52+ return NULL;
53+ }
54+
55+
56+ char *str = PyBytes_AsString(t);
4757 Py_DECREF(v);
4858 Py_DECREF(s);
59+ Py_DECREF(t);
4960 return str;
5061}
5162