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. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox