diff options
Diffstat (limited to 'xa.c')
-rw-r--r-- | xa.c | 8 |
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; |