Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 1 | rpm-python-module: Change the extension tag from PyCObject to PyInt |
| 2 | |
| 3 | Use the tagValue to determine the custom PyInt value to use for the extension |
| 4 | tag. Without this, any custom tag extensions will be returned in a format |
| 5 | that the tagNumFromPyObject and related functions like hdr_subscript will |
| 6 | failed to process. Usually the failure is error: expected a string or integer |
| 7 | |
| 8 | Upstream-Status: Submitted [RPM5 maintainer] |
| 9 | |
| 10 | Signed-off-by: Mark Hatle <mark.hatle@windriver.com> |
| 11 | |
| 12 | Index: rpm-5.4.15/python/rpmmodule.c |
| 13 | =================================================================== |
| 14 | --- rpm-5.4.15.orig/python/rpmmodule.c |
| 15 | +++ rpm-5.4.15/python/rpmmodule.c |
| 16 | @@ -316,7 +316,7 @@ static void addRpmTags(PyObject *module) |
| 17 | { |
| 18 | if (ext->name == NULL || ext->type != HEADER_EXT_TAG) |
| 19 | continue; |
| 20 | - PyDict_SetItemString(d, (char *) ext->name, to=PyCObject_FromVoidPtr((void *)ext, NULL)); |
| 21 | + PyDict_SetItemString(d, (char *) ext->name, to=PyInt_FromLong(tagValue(ext->name))); |
| 22 | Py_XDECREF(to); |
| 23 | PyDict_SetItem(dict, to, o=PyString_FromString(ext->name + 7)); |
| 24 | Py_XDECREF(o); |