1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright 2016, Olivier MATZ <zer0@droids-corp.org>
5 #ifndef ECOLI_NODE_ONCE_
6 #define ECOLI_NODE_ONCE_
8 #include <ecoli_node.h>
10 /* This node behaves like its child, but prevent from parsing it several
19 * Matches: [], ["foo", "bar"], ["bar", "bar"], ["foo", "bar", "bar"], ...
20 * But not: ["foo", "foo"], ["foo", "bar", "foo"], ...
23 /* on error, child is *not* freed */
24 struct ec_node *ec_node_once(const char *id, struct ec_node *child);
26 /* on error, child is *not* freed */
27 int ec_node_once_set(struct ec_node *node, struct ec_node *child);