summaryrefslogtreecommitdiffstats
path: root/commands/echo.c
diff options
context:
space:
mode:
authorJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2012-09-11 12:19:25 +0200
committerJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2012-09-14 00:45:35 +0800
commit39cc6c9cbd3e9233f75d8b614ac498290a138d3a (patch)
treea92f5a8e7c1f027c13ffd53565b6b5633abdbaea /commands/echo.c
parentec0eb323fe934952fcf00bfc08659d0d090e9dd0 (diff)
downloadbarebox-39cc6c9cbd3e9233f75d8b614ac498290a138d3a.tar.gz
barebox-39cc6c9cbd3e9233f75d8b614ac498290a138d3a.tar.xz
echo: always allow to pass -e option
This will allow to do not taint if not enabled Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'commands/echo.c')
-rw-r--r--commands/echo.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/commands/echo.c b/commands/echo.c
index a19d99292f..4a5c981408 100644
--- a/commands/echo.c
+++ b/commands/echo.c
@@ -33,10 +33,9 @@ static int do_echo(int argc, char *argv[])
int fd = stdout, opt, newline = 1;
char *file = NULL;
int oflags = O_WRONLY | O_CREAT;
-#ifdef CONFIG_CMD_ECHO_E
char str[CONFIG_CBSIZE];
int process_escape = 0;
-#endif
+
/* We can't use getopt() here because we want to
* echo all things we don't understand.
*/
@@ -66,11 +65,9 @@ static int do_echo(int argc, char *argv[])
goto no_optarg_out;
optind++;
break;
-#ifdef CONFIG_CMD_ECHO_E
case 'e':
- process_escape = 1;
+ process_escape = IS_ENABLED(CONFIG_CMD_ECHO_E);
break;
-#endif
default:
goto exit_parse;
}
@@ -89,13 +86,12 @@ exit_parse:
for (i = optind; i < argc; i++) {
if (i > optind)
fputc(fd, ' ');
-#ifdef CONFIG_CMD_ECHO_E
if (process_escape) {
process_escape_sequence(argv[i], str, CONFIG_CBSIZE);
fputs(fd, str);
- } else
-#endif
+ } else {
fputs(fd, argv[i]);
+ }
}
if (newline)