Hi Sascha, On Wed, Jan 13, 2016 at 4:50 PM, Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> wrote: > Hi Yegor, > > On Tue, Jan 12, 2016 at 11:16:38AM +0100, yegorslists@xxxxxxxxxxxxxx wrote: >> + * Compare node names using the length of the node in question >> + * and then check, if the in-tree node has '@' as next character. >> + * This way both short names like 'name' and full like 'name@1' will >> + * be accepted. >> + */ >> +int of_node_cmp(const char *s1, const char *s2) >> +{ >> + int len = strlen(s2); >> + >> + if (strncasecmp(s1, s2, len) != 0) >> + return 1; >> + >> + if (s1[len] == '\0') >> + return 0; >> + else if (!memchr(s2, '@', len) && (s1[len] == '@')) >> + return 0; >> + else >> + return 1; >> +} >> + >> +/* >> * Iterate over all nodes of a tree. As a devicetree does not >> * have a dedicated list head, the start node (usually the root >> * node) will not be iterated over. >> diff --git a/include/of.h b/include/of.h >> index 75cc3c1..3b18eef 100644 >> --- a/include/of.h >> +++ b/include/of.h >> @@ -10,7 +10,6 @@ >> /* Default string compare functions */ >> #define of_compat_cmp(s1, s2, l) strcasecmp((s1), (s2)) >> #define of_prop_cmp(s1, s2) strcmp((s1), (s2)) >> -#define of_node_cmp(s1, s2) strcasecmp((s1), (s2)) > > of_node_cmp is used elsewhere and a direct copy from the Kernel. You > should introduce a new function for your purpose instead of modifying > it. What about of_node_eq()? Yegor _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox