All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.