ec_pnode_find_next - Man Page

Find the next node matching an identifier.

Synopsis

#include <ecoli/parse.h>

const struct ec_pnode * ec_pnode_find_next(
    /*
     * The root of the search, as passed to ec_pnode_find().
     */
    const struct ec_pnode   *root,
    const struct ec_pnode   *prev,           /* The node returned by the previous search. */
    const char              *id,             /* The node identifier string to match. */
    /*
     * True to iterate the children of "prev", false to skip them.
     */
    bool                     iter_children
);

Description

After a successful call to ec_pnode_find() or ec_pnode_find_next(), it is possible to get the next node that has the specified id. There are 2 options:continue the depth-first search where it was interrupted.

skip the children of the current node, and continue the depth-first search.

Return Value

The next node matching the identifier, or NULL if not found.

See Also

ec_pnode_len(3), ec_pnode_get_strvec(3), ec_parse(3), ec_parse_strvec(3), ec_pnode(3), ec_pnode_free_children(3), ec_pnode_get_root(3), ec_pnode_get_parent(3), ec_pnode_get_first_child(3), ec_pnode_free(3), ec_pnode_dup(3), ec_pnode_matches(3), ec_pnode_dump(3), ec_pnode_unlink_child(3), ec_pnode_next(3), ec_pnode_del_last_child(3), ec_pnode_link_child(3), ec_pnode_count(3), ec_pnode_get_attrs(3), ec_pnode_get_last_child(3), ec_pnode_get_node(3), ec_pnode_find(3), ec_parse_child(3)

Referenced By

ec_parse(3), ec_parse_child(3), ec_parse_strvec(3), ec_pnode(3), ec_pnode_count(3), ec_pnode_del_last_child(3), ec_pnode_dump(3), ec_pnode_dup(3), ec_pnode_find(3), ec_pnode_free(3), ec_pnode_free_children(3), ec_pnode_get_attrs(3), ec_pnode_get_first_child(3), ec_pnode_get_last_child(3), ec_pnode_get_node(3), ec_pnode_get_parent(3), ec_pnode_get_root(3), ec_pnode_get_strvec(3), ec_pnode_len(3), ec_pnode_link_child(3), ec_pnode_matches(3), ec_pnode_next(3), ec_pnode_unlink_child(3).

2026-06-11 Libecoli Programmer's Manual