less: stop dying on bad regexps, quietly pipe data w/o
user interaction if stdout is not a tty.
size optimizations
diff --git a/coreutils/cat.c b/coreutils/cat.c
index db4d33d..d828b86 100644
--- a/coreutils/cat.c
+++ b/coreutils/cat.c
@@ -14,9 +14,12 @@
 
 int bb_cat(char **argv)
 {
+	static char *const argv_dash[] = { "-", NULL };
 	FILE *f;
 	int retval = EXIT_SUCCESS;
 
+	if (!*argv) argv = (char**) &argv_dash;
+
 	do {
 		f = fopen_or_warn_stdin(*argv);
 		if (f) {
@@ -35,11 +38,6 @@
 int cat_main(int argc, char **argv)
 {
 	getopt32(argc, argv, "u");
-
 	argv += optind;
-	if (!*argv) {
-		*--argv = "-";
-	}
-
 	return bb_cat(argv);
 }