- Permits extracting single dependencies from a set with instance
number inherited without exposing rpmdsSetInstance() kind of thing
- Also faster than calling rpmdsSingle(rpmdsTagN(ds), rpmdsN(ds)....)
where each call re-re-re-re-validates the indexes
return singleDS(tagN, N, EVR, Flags, 0);
}
+rpmds rpmdsCurrent(rpmds ds)
+{
+ rpmds cds = NULL;
+ if (ds != NULL && ds->i >= 0 && ds->i < ds->Count) {
+ cds = singleDS(ds->tagN, ds->N[ds->i], ds->EVR[ds->i],
+ ds->Flags[ds->i], ds->instance);
+ }
+ return cds;
+}
+
int rpmdsCount(const rpmds ds)
{
return (ds != NULL ? ds->Count : 0);
rpmds rpmdsSingle(rpmTag tagN, const char * N, const char * EVR, rpmsenseFlags Flags);
/** \ingroup rpmds
+ * Return a new dependency set of size 1 from the current iteration index
+ * @param ds dependency set
+ * @return new dependency set
+ */
+rpmds rpmdsCurrent(rpmds ds);
+
+/** \ingroup rpmds
* Return dependency set count.
* @param ds dependency set
* @return current count