diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2017-10-29 18:56:03 +0100 |
---|---|---|
committer | David Gibson <david@gibson.dropbear.id.au> | 2017-11-11 19:36:14 +1100 |
commit | fca296445eabf3cfe986e89dd8711c0be583036d (patch) | |
tree | 568b6a37bcfed0bf80d11613a17f16605ee9bfe7 | |
parent | cc392f089007873734ae2fbfb384df7acb4fe3c6 (diff) | |
download | device-tree-compiler-fca296445eabf3cfe986e89dd8711c0be583036d.tar.gz |
Add strstarts() helper function
nodename_from_path() in flattree.c uses strneq() to test that one
string starts with another. This is, in fact, the only correct usage
of strneq() in the entire tree. To make things harder to confuse, add
a strstarts() function for this purpose.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-rw-r--r-- | dtc.h | 1 | ||||
-rw-r--r-- | flattree.c | 2 |
2 files changed, 2 insertions, 1 deletions
@@ -68,6 +68,7 @@ typedef uint32_t cell_t; #define streq(a, b) (strcmp((a), (b)) == 0) #define strneq(a, b, n) (strncmp((a), (b), (n)) == 0) +#define strstarts(s, prefix) (strncmp((s), (prefix), strlen(prefix)) == 0) #define ALIGN(x, a) (((x) + (a) - 1) & ~((a) - 1)) @@ -731,7 +731,7 @@ static char *nodename_from_path(const char *ppath, const char *cpath) plen = strlen(ppath); - if (!strneq(ppath, cpath, plen)) + if (!strstarts(cpath, ppath)) die("Path \"%s\" is not valid as a child of \"%s\"\n", cpath, ppath); |