diff options
author | Pantelis Antoniou <panto@antoniou-consulting.com> | 2013-01-04 21:12:46 +0200 |
---|---|---|
committer | Jon Loeliger <jdl@jdl.com> | 2013-01-06 15:35:10 -0600 |
commit | 94a4799b200451d4037ec9219023becfe8c45ef1 (patch) | |
tree | e4adcf8c98913cdda233a8f83d238263cb9577c4 | |
parent | e4b497f367a3b2ae99cc52089a14a221b13a76ef (diff) | |
download | dtc-94a4799b200451d4037ec9219023becfe8c45ef1.tar.gz |
fdtdump: properly handle multi-string properties
Device tree can store multiple strings in a single property.
We didn't handle that case properly.
Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
-rw-r--r-- | fdtdump.c | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -21,13 +21,23 @@ static void print_data(const char *data, int len) { int i; const char *p = data; + const char *s; /* no data, don't print */ if (len == 0) return; if (util_is_printable_string(data, len)) { - printf(" = \"%s\"", (const char *)data); + printf(" = "); + + s = data; + do { + printf("\"%s\"", s); + s += strlen(s) + 1; + if (s < data + len) + printf(", "); + } while (s < data + len); + } else if ((len % 4) == 0) { printf(" = <"); for (i = 0; i < len; i += 4) |