Esempio n. 1
0
File: rpmps.c Progetto: kaltsi/rpm
rpmpsi rpmpsFreeIterator(rpmpsi psi)
{
    if (psi != NULL) {
	rpmpsUnlink(psi->ps);
	free(psi);
    }
    return NULL;
}
Esempio n. 2
0
File: rpmps.c Progetto: xrg/RPM
rpmpsi rpmpsFreeIterator(rpmpsi psi)
{
    if (psi != NULL) {
	rpmpsUnlink(psi->ps, RPMDBG_M("rpmpsFreeIterator"));
	free(psi);
	psi = NULL;
    }
    return psi;
}
Esempio n. 3
0
File: rpmps.c Progetto: kaltsi/rpm
rpmps rpmpsFree(rpmps ps)
{
    if (ps == NULL) return NULL;
    if (ps->nrefs > 1) {
	return rpmpsUnlink(ps);
    }
	
    if (ps->probs) {
	rpmpsi psi = rpmpsInitIterator(ps);
	while (rpmpsNextIterator(psi) >= 0) {
	    rpmProblemFree(rpmpsGetProblem(psi));	
	}
	rpmpsFreeIterator(psi);
	ps->probs = _free(ps->probs);
    }
    ps = _free(ps);
    return NULL;
}