summary refs log tree commit diff
path: root/xa.c
diff options
context:
space:
mode:
Diffstat (limited to 'xa.c')
-rw-r--r--xa.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/xa.c b/xa.c
index 666ec3e..fd1857b 100644
--- a/xa.c
+++ b/xa.c
@@ -211,7 +211,8 @@ main(int argc, char *argv[])
 				break;
 			}
 
-	cmd = calloc(argc-optind+maxatonce+1+(sflag ? 4 : 0), sizeof (char *));
+	cmd = calloc(argc-optind+maxatonce+1+
+	    (optind==cmdend ? 2 : 0)+(sflag ? 4 : 0), sizeof (char *));
 	if (!cmd)
 		exit(1);
 
@@ -225,6 +226,11 @@ main(int argc, char *argv[])
 			cmd[l++] = xstrdup("-");
 		}
 
+		if (optind == cmdend) {
+			cmd[l++] = xstrdup("printf");
+			cmd[l++] = xstrdup("%s\\n");
+		}
+
 		if (maxatonce == 1) {
 			// substitute {}
 			int substituted = 0;