[RFC PATCH 01/15] dtc: Use a consistent type for basenamelen

Herve Codina
2026-02-10T17:34:23Z

The basenamelen member in the node structure is set in all cases to
a positive value, the length of the basename string. Also it is used as
parameters on function expecting a size_t type.

Further more an implicit cast of strspn() returned value from size_t to
int is needed in checks.c to avoid a signed/unsigned compilation warning
when this value is checked.

This member has no reason to be a signed integer and its obvious type is
size_t.

Be consistent and fix its type.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
---
checks.c | 2 +-
dtc.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/checks.c b/checks.c
index 45d0213..946c142 100644
--- a/checks.c
+++ b/checks.c
@@ -324,7 +324,7 @@ ERROR(node_name_chars, check_node_name_chars, NODECHARS);
static void check_node_name_chars_strict(struct check *c, struct dt_info *dti,
struct node *node)
{
- int n = strspn(node->name, c->data);
+ size_t n = strspn(node->name, c->data);

if (n < node->basenamelen)
FAIL(c, dti, node, "Character '%c' not recommended in node name",
diff --git a/dtc.h b/dtc.h
index 7231200..473552e 100644
--- a/dtc.h
+++ b/dtc.h
@@ -227,7 +227,7 @@ struct node {
struct node *next_sibling;

char *fullpath;
- int basenamelen;
+ size_t basenamelen;

cell_t phandle;
int addr_cells, size_cells;
--
2.52.0