catv: catv without arguments was trying to use environ as argv.

(Alex Landau <landau_alex@yahoo.com>)
This commit is contained in:
Denis Vlasenko 2007-08-06 12:28:24 +00:00
parent 73f21e9cb3
commit 8e209c3787

View File

@ -15,7 +15,8 @@
int catv_main(int argc, char **argv); int catv_main(int argc, char **argv);
int catv_main(int argc, char **argv) int catv_main(int argc, char **argv)
{ {
int retval = EXIT_SUCCESS, fd; int retval = EXIT_SUCCESS;
int fd;
unsigned flags; unsigned flags;
flags = getopt32(argc, argv, "etv"); flags = getopt32(argc, argv, "etv");
@ -27,8 +28,10 @@ int catv_main(int argc, char **argv)
/* Read from stdin if there's nothing else to do. */ /* Read from stdin if there's nothing else to do. */
fd = 0; fd = 0;
if (!argv[0]) if (!argv[0]) {
argv--;
goto jump_in; goto jump_in;
}
do { do {
fd = open_or_warn(*argv, O_RDONLY); fd = open_or_warn(*argv, O_RDONLY);
if (fd < 0) { if (fd < 0) {
@ -46,7 +49,7 @@ int catv_main(int argc, char **argv)
if (res < 1) if (res < 1)
break; break;
for (i = 0; i < res; i++) { for (i = 0; i < res; i++) {
char c = read_buf[i]; unsigned char c = read_buf[i];
if (c > 126 && (flags & CATV_OPT_v)) { if (c > 126 && (flags & CATV_OPT_v)) {
if (c == 127) { if (c == 127) {