On Tue, Jun 23, 2020 at 11:43:43AM +0200, Geert Uytterhoeven wrote: > 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@xxxxxxxxx> Makes sense. Applied, thanks. > --- > Alternatively, guess_value_type() could check explicitly for "/", > reducing the number of false positives. > > However, there seem to be plenty of other uses of one-character strings > in DTS files. The most common one is 'type = "a"' for HDMI connectors. > --- > treesource.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/treesource.c b/treesource.c > index 2acb920d77752410..061ba8c9c5e83265 100644 > --- a/treesource.c > +++ b/treesource.c > @@ -183,7 +183,7 @@ static enum markertype guess_value_type(struct property *prop) > nnotcelllbl++; > } > > - if ((p[len-1] == '\0') && (nnotstring == 0) && (nnul < (len-nnul)) > + if ((p[len-1] == '\0') && (nnotstring == 0) && (nnul <= (len-nnul)) > && (nnotstringlbl == 0)) { > return TYPE_STRING; > } else if (((len % sizeof(cell_t)) == 0) && (nnotcelllbl == 0)) { -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
Attachment:
signature.asc
Description: PGP signature