diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/blind-cat-cols.c | 23 | ||||
| -rw-r--r-- | src/blind-cat-rows.c | 23 |
2 files changed, 22 insertions, 24 deletions
diff --git a/src/blind-cat-cols.c b/src/blind-cat-cols.c index e20e913..ef7d15e 100644 --- a/src/blind-cat-cols.c +++ b/src/blind-cat-cols.c @@ -1,26 +1,25 @@ /* See LICENSE file for copyright and license details. */ #include "common.h" -USAGE("(file columns) ...") +USAGE("file ...") int main(int argc, char *argv[]) { struct stream *streams; - size_t parts, width = 0, *cols, i; + size_t width = 0, *cols; + int i; - UNOFLAGS(argc % 2 || !argc); + UNOFLAGS(!argc); - parts = (size_t)argc / 2; - streams = emalloc2(parts, sizeof(*streams)); - cols = alloca(parts * sizeof(*cols)); + streams = emalloc2((size_t)argc, sizeof(*streams)); + cols = alloca((size_t)argc * sizeof(*cols)); - for (i = 0; i < parts; i++) { - eopen_stream(streams + i, argv[i * 2]); - cols[i] = etozu_arg("columns", argv[i * 2 + 1], 1, SIZE_MAX); + for (i = 0; i < argc; i++) { + eopen_stream(streams + i, argv[i]); if (streams[i].width > SIZE_MAX - width) eprintf("output video is too tall\n"); - width += streams[i].width; + width += cols[i] = streams[i].width; if (i) { streams[i].width = streams->width; echeck_compat(streams, streams + i); @@ -31,10 +30,10 @@ main(int argc, char *argv[]) fprint_stream_head(stdout, streams); efflush(stdout, "<stdout>"); - for (i = 0; i < parts; i++, i = i == parts ? 0 : i) + for (i = 0; i < argc; i++, i = i == argc ? 0 : i) if (esend_pixels(streams + i, STDOUT_FILENO, cols[i], "<stdout>") != cols[i]) break; - for (i = 0; i < parts; i++) + for (i = 0; i < argc; i++) close(streams[i].fd); free(streams); diff --git a/src/blind-cat-rows.c b/src/blind-cat-rows.c index 32113e5..a41655c 100644 --- a/src/blind-cat-rows.c +++ b/src/blind-cat-rows.c @@ -1,26 +1,25 @@ /* See LICENSE file for copyright and license details. */ #include "common.h" -USAGE("(file rows) ...") +USAGE("file ...") int main(int argc, char *argv[]) { struct stream *streams; - size_t parts, height = 0, *rows, i; + size_t height = 0, *rows; + int i; - UNOFLAGS(argc % 2 || !argc); + UNOFLAGS(!argc); - parts = (size_t)argc / 2; - streams = emalloc2(parts, sizeof(*streams)); - rows = alloca(parts * sizeof(*rows)); + streams = emalloc2((size_t)argc, sizeof(*streams)); + rows = alloca((size_t)argc * sizeof(*rows)); - for (i = 0; i < parts; i++) { - eopen_stream(streams + i, argv[i * 2]); - rows[i] = etozu_arg("rows", argv[i * 2 + 1], 1, SIZE_MAX); + for (i = 0; i < argc; i++) { + eopen_stream(streams + i, argv[i]); if (streams[i].height > SIZE_MAX - height) eprintf("output video is too wide\n"); - height += streams[i].height; + height += rows[i] = streams[i].height; if (i) { streams[i].height = streams->height; echeck_compat(streams, streams + i); @@ -31,10 +30,10 @@ main(int argc, char *argv[]) fprint_stream_head(stdout, streams); efflush(stdout, "<stdout>"); - for (i = 0; i < parts; i++, i = i == parts ? 0 : i) + for (i = 0; i < argc; i++, i = i == argc ? 0 : i) if (esend_rows(streams + i, STDOUT_FILENO, rows[i], "<stdout>") != rows[i]) break; - for (i = 0; i < parts; i++) + for (i = 0; i < argc; i++) close(streams[i].fd); free(streams); |
