[Rpm-maint] [PATCH 08/15] Use PyBytes_ rather than PyString_ for RPM header data
David Malcolm
dmalcolm at redhat.com
Thu Oct 15 19:15:02 UTC 2009
RPM header data is in binary format; use the PyBytes_ API for it,
rather than PyString (which went away in Python 3)
On Python 2.6, these are macro aliases for the PyString_ API
On Python 3, these are references to the bytesobject.h class
---
python/header-py.c | 6 +++---
python/rpmts-py.c | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/python/header-py.c b/python/header-py.c
index cd3fe5e..98cd753 100644
--- a/python/header-py.c
+++ b/python/header-py.c
@@ -172,7 +172,7 @@ static PyObject * hdrUnload(hdrObject * s, PyObject * args, PyObject *keywords)
return NULL;
}
- rc = PyString_FromStringAndSize(buf, len);
+ rc = PyBytes_FromStringAndSize(buf, len);
buf = _free(buf);
return rc;
@@ -371,8 +371,8 @@ static PyObject *hdr_new(PyTypeObject *subtype, PyObject *args, PyObject *kwds)
h = headerNew();
} else if (hdrObject_Check(obj)) {
h = headerCopy(((hdrObject*) obj)->h);
- } else if (PyString_Check(obj)) {
- h = headerCopyLoad(PyString_AsString(obj));
+ } else if (PyBytes_Check(obj)) {
+ h = headerCopyLoad(PyBytes_AsString(obj));
} else if (rpmFdFromPyObject(obj, &fd)) {
Py_BEGIN_ALLOW_THREADS;
h = headerRead(fd, HEADER_MAGIC_YES);
diff --git a/python/rpmts-py.c b/python/rpmts-py.c
index 8c0fe36..a0f4631 100644
--- a/python/rpmts-py.c
+++ b/python/rpmts-py.c
@@ -370,8 +370,8 @@ rpmts_HdrCheck(rpmtsObject * s, PyObject *obj)
if (!PyArg_Parse(obj, "S:HdrCheck", &blob))
return NULL;
- uh = PyString_AsString(blob);
- uc = PyString_Size(blob);
+ uh = PyBytes_AsString(blob);
+ uc = PyBytes_Size(blob);
Py_BEGIN_ALLOW_THREADS;
rpmrc = headerCheck(s->ts, uh, uc, &msg);
--
1.6.2.5
More information about the Rpm-maint
mailing list