diff --git a/src/calibre/utils/podofo/doc.cpp b/src/calibre/utils/podofo/doc.cpp index 164bc17cb7..8eb48d97f9 100644 --- a/src/calibre/utils/podofo/doc.cpp +++ b/src/calibre/utils/podofo/doc.cpp @@ -394,7 +394,6 @@ PDFDoc_version_getter(PDFDoc *self, void *closure) { static PyObject * PDFDoc_getter(PDFDoc *self, int field) { - PyObject *ans; PdfString s; PdfInfo *info = self->doc->GetInfo(); if (info == NULL) { @@ -419,13 +418,7 @@ PDFDoc_getter(PDFDoc *self, int field) return NULL; } - ans = podofo_convert_pdfstring(s); - if (ans == NULL) {PyErr_NoMemory(); return NULL;} - PyObject *uans = PyUnicode_FromEncodedObject(ans, "utf-8", "replace"); - Py_DECREF(ans); - if (uans == NULL) {return NULL;} - Py_INCREF(uans); - return uans; + return podofo_convert_pdfstring(s); } static int diff --git a/src/calibre/utils/podofo/utils.cpp b/src/calibre/utils/podofo/utils.cpp index da1272014e..6ecf1ec7fd 100644 --- a/src/calibre/utils/podofo/utils.cpp +++ b/src/calibre/utils/podofo/utils.cpp @@ -25,8 +25,7 @@ pdf::podofo_set_exception(const PdfError &err) { PyObject * pdf::podofo_convert_pdfstring(const PdfString &s) { - std::string raw = s.GetStringUtf8(); - return PyBytes_FromStringAndSize(raw.c_str(), raw.length()); + return PyUnicode_FromString(s.GetStringUtf8().c_str()); } PdfString *