int ftsOpts;
FTS * ftsp;
FTSENT * fts;
-
- int nrefs; /*!< Reference count. */
};
static const char * const ftsInfoStrings[] = {
return rpmrc;
}
-rpmgi rpmgiUnlink(rpmgi gi, const char * msg)
-{
- if (gi == NULL) return NULL;
-
-if (_rpmgi_debug && msg != NULL)
-fprintf(stderr, "--> gi %p -- %d: %s\n", gi, gi->nrefs, msg);
-
- gi->nrefs--;
- return NULL;
-}
-
-rpmgi rpmgiLink(rpmgi gi, const char * msg)
-{
- if (gi == NULL) return NULL;
- gi->nrefs++;
-
-if (_rpmgi_debug && msg != NULL)
-fprintf(stderr, "--> gi %p ++ %d: %s\n", gi, gi->nrefs, msg);
-
- return gi;
-}
-
rpmgi rpmgiFree(rpmgi gi)
{
if (gi == NULL)
return NULL;
- if (gi->nrefs > 1)
- return rpmgiUnlink(gi, __FUNCTION__);
-
- (void) rpmgiUnlink(gi, __FUNCTION__);
-
-
gi->hdrPath = _free(gi->hdrPath);
gi->h = headerFree(gi->h);
gi->ftsp = NULL;
gi->fts = NULL;
- gi = rpmgiLink(gi, __FUNCTION__);
-
return gi;
}
extern rpmgiFlags giFlags;
-/** \ingroup rpmgi
- * Unreference a generalized iterator instance.
- * @param gi generalized iterator
- * @param msg
- * @return NULL always
- */
-rpmgi rpmgiUnlink (rpmgi gi, const char * msg);
-
-/** \ingroup rpmgi
- * Reference a generalized iterator instance.
- * @param gi generalized iterator
- * @param msg
- * @return new generalized iterator reference
- */
-rpmgi rpmgiLink (rpmgi gi, const char * msg);
-
/** \ingroup rpmgi
* Destroy a generalized iterator.
* @param gi generalized iterator