2 * echo.c - echo arguments to stdout or into a file
4 * Copyright (c) 2007 Sascha Hauer <s.hauer@pengutronix.de>, Pengutronix
6 * See file CREDITS for list of people who contributed to this
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License version 2
11 * as published by the Free Software Foundation.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
29 static int do_echo (cmd_tbl_t
*cmdtp
, int argc
, char *argv
[])
32 int fd
= stdout
, opt
, newline
= 1;
34 int oflags
= O_WRONLY
| O_CREAT
;
36 /* We can't use getopt() here because we want to
37 * echo all things we don't understand.
39 while (optind
< argc
&& *argv
[optind
] == '-') {
40 if (!*(argv
[optind
] + 1) || *(argv
[optind
] + 2))
43 opt
= *(argv
[optind
] + 1);
50 if (optind
+ 1 < argc
)
51 file
= argv
[optind
+ 1];
58 file
= argv
[optind
+ 1];
59 if (optind
+ 1 < argc
)
60 file
= argv
[optind
+ 1];
73 fd
= open(file
, oflags
);
80 for (i
= optind
; i
< argc
; i
++) {
95 printf("option requires an argument -- %c\n", opt
);
99 U_BOOT_CMD_START(echo
)
101 .usage
= "echo args to console",