[U-Boot] [PATCH] Output strings from echo with puts where easy
Joe Hershberger
joe.hershberger at ni.com
Fri Aug 17 22:55:18 CEST 2012
Change echo to puts charachters together where it knows about them
together. This improves netconsole performance by greatly reducing
the number of packets that are sent.
Signed-off-by: Joe Hershberger <joe.hershberger at ni.com>
---
common/cmd_echo.c | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/common/cmd_echo.c b/common/cmd_echo.c
index 43a6da5..e04738f 100644
--- a/common/cmd_echo.c
+++ b/common/cmd_echo.c
@@ -28,19 +28,23 @@ int do_echo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
int i;
int putnl = 1;
+ char *nls; /* new-line suppression */
for (i = 1; i < argc; i++) {
- char *p = argv[i], c;
+ char *p = argv[i];
if (i > 1)
putc(' ');
- while ((c = *p++) != '\0') {
- if (c == '\\' && *p == 'c') {
- putnl = 0;
- p++;
- } else {
- putc(c);
- }
+
+ nls = strstr(p, "\\c");
+ if (nls) {
+ putnl = 0;
+ *nls = '\0';
+ puts(p);
+ puts(nls + 2);
+ *nls = '\\';
+ } else {
+ puts(p);
}
}
--
1.7.11.5
More information about the U-Boot
mailing list