u-boot/cmd/echo.c

57 lines
929 B
C
Raw Normal View History

// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright 2000-2009
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
*/
#include <common.h>
#include <command.h>
static int do_echo(struct cmd_tbl *cmdtp, int flag, int argc,
char *const argv[])
{
int i;
int putnl = 1;
for (i = 1; i < argc; i++) {
char *p = argv[i];
char *nls; /* new-line suppression */
if (i > 1)
putc(' ');
nls = strstr(p, "\\c");
if (nls) {
char *prenls = p;
putnl = 0;
/*
* be paranoid and guess that someone might
* say \c more than once
*/
while (nls) {
*nls = '\0';
puts(prenls);
*nls = '\\';
prenls = nls + 2;
nls = strstr(prenls, "\\c");
}
puts(prenls);
} else {
puts(p);
}
}
if (putnl)
putc('\n');
return 0;
}
U_BOOT_CMD(
echo, CONFIG_SYS_MAXARGS, 1, do_echo,
"echo args to console",
"[args..]\n"
" - echo args to console; \\c suppresses newline"
);