libdwarf
Loading...
Searching...
No Matches
Using dwarf_siblingof_c()

Example accessing a DIE sibling.

Access to each DIE on a sibling list. This is the preferred form as it is slightly more efficient than dwarf_siblingof_b().

*/
int example4c(Dwarf_Die in_die,
Dwarf_Error *error)
{
Dwarf_Die return_sib = 0;
int res = 0;
/* in_die must be a valid Dwarf_Die */
res = dwarf_siblingof_c(in_die,&return_sib, error);
if (res == DW_DLV_OK) {
/* Use return_sib here. */
dwarf_dealloc_die(return_sib);
/* return_sib is no longer usable for anything, we
ensure we do not use it accidentally with: */
return_sib = 0;
return res;
}
return res;
}
struct Dwarf_Die_s * Dwarf_Die
Definition libdwarf.h:608
struct Dwarf_Error_s * Dwarf_Error
Definition libdwarf.h:597
int dwarf_siblingof_c(Dwarf_Die dw_die, Dwarf_Die *dw_return_siblingdie, Dwarf_Error *dw_error)
Return the next sibling DIE.
void dwarf_dealloc_die(Dwarf_Die dw_die)
Deallocate (free) a DIE.