1/*
2   recho -- really echo args, bracketed with <> and with invisible chars
3	    made visible.
4
5   Chet Ramey
6   chet@po.cwru.edu
7*/
8
9/* Copyright (C) 2002-2005 Free Software Foundation, Inc.
10
11   This file is part of GNU Bash, the Bourne Again SHell.
12
13   Bash is free software: you can redistribute it and/or modify
14   it under the terms of the GNU General Public License as published by
15   the Free Software Foundation, either version 3 of the License, or
16   (at your option) any later version.
17
18   Bash is distributed in the hope that it will be useful,
19   but WITHOUT ANY WARRANTY; without even the implied warranty of
20   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21   GNU General Public License for more details.
22
23   You should have received a copy of the GNU General Public License
24   along with Bash.  If not, see <http://www.gnu.org/licenses/>.
25*/
26
27#if defined (HAVE_CONFIG_H)
28#  include  <config.h>
29#endif
30
31#include "bashansi.h"
32#include <stdio.h>
33
34void strprint();
35
36int
37main(argc, argv)
38int	argc;
39char	**argv;
40{
41	register int	i;
42
43	for (i = 1; i < argc; i++) {
44		printf("argv[%d] = <", i);
45		strprint(argv[i]);
46		printf(">\n");
47	}
48	exit(0);
49}
50
51void
52strprint(str)
53char	*str;
54{
55	register unsigned char *s;
56
57	for (s = (unsigned char *)str; s && *s; s++) {
58		if (*s < ' ') {
59			putchar('^');
60			putchar(*s+64);
61		} else if (*s == 127) {
62			putchar('^');
63			putchar('?');
64		} else
65			putchar(*s);
66	}
67}
68