dtc: Consider one-character strings as strings
When using overlays, a target-path property pointing to the root node is
quite common. However, "dtc -O dts" prints it as a byte array:
target-path = [2f 00];
instead of a string:
target-path = "/";
For guess_value_type() to consider a value to be a string, it must
contain less nul bytes than non-nul bytes, thus ruling out strings
containing only a single character. Allow printing such strings by
relaxing the condition slightly.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Message-Id: <20200623094343.26010-1-geert+renesas@glider.be>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
main
parent
8259d59f59
commit
9d7888cbf1
|
|
@ -183,7 +183,7 @@ static enum markertype guess_value_type(struct property *prop)
|
||||||
nnotcelllbl++;
|
nnotcelllbl++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((p[len-1] == '\0') && (nnotstring == 0) && (nnul < (len-nnul))
|
if ((p[len-1] == '\0') && (nnotstring == 0) && (nnul <= (len-nnul))
|
||||||
&& (nnotstringlbl == 0)) {
|
&& (nnotstringlbl == 0)) {
|
||||||
return TYPE_STRING;
|
return TYPE_STRING;
|
||||||
} else if (((len % sizeof(cell_t)) == 0) && (nnotcelllbl == 0)) {
|
} else if (((len % sizeof(cell_t)) == 0) && (nnotcelllbl == 0)) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue