Add rpmtdGetIndex() + rpmtdSetIndex() methods
This commit is contained in:
parent
9979407567
commit
9c209c8a2d
17
lib/rpmtd.c
17
lib/rpmtd.c
|
@ -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);
|
||||
|
|
17
lib/rpmtd.h
17
lib/rpmtd.h
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue