Add rpmtdGetIndex() + rpmtdSetIndex() methods

This commit is contained in:
Panu Matilainen 2008-05-23 11:49:56 +03:00
parent 9979407567
commit 9c209c8a2d
2 changed files with 34 additions and 0 deletions

View File

@ -71,6 +71,23 @@ rpmTagType rpmtdType(rpmtd td)
return td->type;
}
int rpmtdGetIndex(rpmtd td)
{
assert(td != NULL);
return td->ix;
}
int rpmtdSetIndex(rpmtd td, int index)
{
assert(td != NULL);
if (index < 0 || index >= rpmtdCount(td)) {
return -1;
}
td->ix = index;
return td->ix;
}
int rpmtdInit(rpmtd td)
{
assert(td != NULL);

View File

@ -72,6 +72,23 @@ rpmTag rpmtdTag(rpmtd td);
*/
rpmTagType rpmtdType(rpmtd td);
/** \ingroup rpmtd
* Retrieve current iteration index of the container.
* @param td Tag data container
* @return Iteration index (or -1 if not iterating)
*/
int rpmtdGetIndex(rpmtd td);
/** \ingroup rpmtd
* Set iteration index of the container.
* If new index is out of bounds for the container, -1 is returned and
* iteration index is left untouched.
* @param td Tag data container
* @param index New index
* @return New index, or -1 if index out of bounds
*/
int rpmtdSetIndex(rpmtd td, int index);
/** \ingroup rpmtd
* Initialize tag container for iteration
* @param td Tag data container