- In Python 3 everything is unicode, forcing each and every caller to
convert manually is a bit much.
return res;
}
+int utf8FromPyObject(PyObject *item, PyObject **str)
+{
+ PyObject *res = NULL;
+ if (PyBytes_Check(item)) {
+ Py_XINCREF(item);
+ res = item;
+ } else if (PyUnicode_Check(item)) {
+ res = PyUnicode_AsUTF8String(item);
+ }
+ if (res == NULL) return 0;
+
+ *str = res;
+ return 1;
+}
+
int tagNumFromPyObject (PyObject *item, rpmTag *tagp)
{
rpmTag tag = RPMTAG_NOT_FOUND;
PyObject * hdr_Wrap(PyTypeObject *subtype, Header h);
int hdrFromPyObject(PyObject *item, Header *h);
-
+int utf8FromPyObject(PyObject *item, PyObject **str);
int tagNumFromPyObject (PyObject *item, rpmTag *tagp);
PyObject * labelCompare (PyObject * self, PyObject * args);