public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] cmd_fdt.c: fix parse of byte streams and strings
@ 2009-09-10 21:41 Ken MacLeod
  2009-09-11  0:23 ` Jerry Van Baren
  0 siblings, 1 reply; 10+ messages in thread
From: Ken MacLeod @ 2009-09-10 21:41 UTC (permalink / raw)
  To: u-boot

Commit 4abd844d8e extended the fdt command parser to handle property
strings which are split across multiple arguments but it was broken for
byte streams and strings.  This patch fixes those.

Signed-off-by: Ken MacLeod <ken@bitsko.slc.ut.us>
---
 common/cmd_fdt.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/common/cmd_fdt.c b/common/cmd_fdt.c
index 8683772..f0a8f0e 100644
--- a/common/cmd_fdt.c
+++ b/common/cmd_fdt.c
@@ -580,7 +580,7 @@ static int fdt_parse_prop(char **newval, int count, char *data, int *len)
 			*len    = *len + 1;
 			while (*newp == ' ')
 				newp++;
-			if (*newp != '\0')
+			if (*newp == '\0')
 				newp = newval[++stridx];
 		}
 		if (*newp != ']') {
@@ -593,10 +593,17 @@ static int fdt_parse_prop(char **newval, int count, char *data, int *len)
 		 * convenience (including the terminating '\0').
 		 */
 		while (stridx < count) {
-			*len = strlen(newp) + 1;
+			size_t length = strlen(newp);
 			strcpy(data, newp);
+			data += length;
+			*len += length;
 			newp = newval[++stridx];
+			if (stridx < count) {
+				*data++ = ' ';
+				*len += 1;
+			}
 		}
+		*len += 1;
 	}
 	return 0;
 }
-- 
1.5.4.7

^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2009-09-11 19:35 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-10 21:41 [U-Boot] [PATCH] cmd_fdt.c: fix parse of byte streams and strings Ken MacLeod
2009-09-11  0:23 ` Jerry Van Baren
2009-09-11 16:16   ` Scott Wood
2009-09-11 16:30     ` Jerry Van Baren
2009-09-11 16:39       ` Scott Wood
2009-09-11 16:45         ` Andy Fleming
2009-09-11 16:51           ` Jerry Van Baren
2009-09-11 17:50       ` Ken MacLeod
2009-09-11 17:56         ` Scott Wood
2009-09-11 19:35         ` Jerry Van Baren

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox