return (p->ulong1);
}
-const char * rpmProblemString(const rpmProblem prob)
+char * rpmProblemString(const rpmProblem prob)
{
const char * pkgNEVR = (prob->pkgNEVR ? prob->pkgNEVR : "?pkgNEVR?");
const char * altNEVR = (prob->altNEVR ? prob->altNEVR : "? ?altNEVR?");
* @param prob rpm problem
* @return formatted string (malloc'd)
*/
-extern const char * rpmProblemString(const rpmProblem prob);
+extern char * rpmProblemString(const rpmProblem prob);
/** \ingroup rpmps
* Unreference a problem set instance.
free(nevra);
while (rpmpsNextIterator(psi) >= 0) {
rpmProblem p = rpmpsGetProblem(psi);
- rpmlog(RPMLOG_NOTICE, "\t%s\n", rpmProblemString(p));
+ char * ps = rpmProblemString(p);
+ rpmlog(RPMLOG_NOTICE, "\t%s\n", ps);
+ free(ps);
rc++;
}
}
/* If more to do, return a problem set string. */
if (rpmpsNextIterator(s->psi) >= 0) {
- result = Py_BuildValue("s", rpmProblemString(rpmpsGetProblem(s->psi)));
+ char * ps = rpmProblemString(rpmpsGetProblem(s->psi));
+ result = Py_BuildValue("s", ps);
+ free(ps);
} else {
s->psi = rpmpsFreeIterator(s->psi);
}
psi = rpmpsInitIterator(s->ps);
while ((i = rpmpsNextIterator(psi)) >= 0) {
if (i == ix) {
- result = Py_BuildValue("s", rpmProblemString(rpmpsGetProblem(psi)));
+ char * ps = rpmProblemString(rpmpsGetProblem(psi));
+ result = Py_BuildValue("s", ps);
+ free(ps);
break;
}
}
psi = rpmpsInitIterator(ps);
while (rpmpsNextIterator(psi) >= 0) {
rpmProblem p = rpmpsGetProblem(psi);
- PyObject * prob = Py_BuildValue("s(isN)", rpmProblemString(p),
+ char * ps = rpmProblemString(p);
+ PyObject * prob = Py_BuildValue("s(isN)", ps,
rpmProblemGetType(p),
rpmProblemGetStr(p),
PyLong_FromLongLong(rpmProblemGetLong(p)));
PyList_Append(list, prob);
+ free(ps);
Py_DECREF(prob);
}