uboot/common/cmd_echo.c
<<
>>
Prefs
   1/*
   2 * Copyright 2000-2009
   3 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   4 *
   5 * SPDX-License-Identifier:     GPL-2.0+
   6 */
   7
   8#include <common.h>
   9#include <command.h>
  10
  11static int do_echo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
  12{
  13        int i;
  14        int putnl = 1;
  15
  16        for (i = 1; i < argc; i++) {
  17                char *p = argv[i];
  18                char *nls; /* new-line suppression */
  19
  20                if (i > 1)
  21                        putc(' ');
  22
  23                nls = strstr(p, "\\c");
  24                if (nls) {
  25                        char *prenls = p;
  26
  27                        putnl = 0;
  28                        /*
  29                         * be paranoid and guess that someone might
  30                         * say \c more than once
  31                         */
  32                        while (nls) {
  33                                *nls = '\0';
  34                                puts(prenls);
  35                                *nls = '\\';
  36                                prenls = nls + 2;
  37                                nls = strstr(prenls, "\\c");
  38                        }
  39                        puts(prenls);
  40                } else {
  41                        puts(p);
  42                }
  43        }
  44
  45        if (putnl)
  46                putc('\n');
  47
  48        return 0;
  49}
  50
  51U_BOOT_CMD(
  52        echo,   CONFIG_SYS_MAXARGS,     1,      do_echo,
  53        "echo args to console",
  54        "[args..]\n"
  55        "    - echo args to console; \\c suppresses newline"
  56);
  57