blind

suckless command-line video editing utility
git clone git://git.suckless.org/blind
Log | Files | Refs | README | LICENSE

commit 763a16e7e60fdb2bd189a7e1f84d2432065478bc
parent a21ebe8bea569e7d8961b9711d430d21c92f769b
Author: Mattias Andrée <maandree@kth.se>
Date:   Wed, 11 Jan 2017 21:48:59 +0100

Reuse code

Signed-off-by: Mattias Andrée <maandree@kth.se>

Diffstat:
Msrc/vu-crop.c | 18++----------------
Msrc/vu-extend.c | 17+----------------
2 files changed, 3 insertions(+), 32 deletions(-)

diff --git a/src/vu-crop.c b/src/vu-crop.c @@ -16,7 +16,6 @@ main(int argc, char *argv[]) char *buf, *image, *p; size_t width = 0, height = 0, left = 0, top = 0; size_t off, yoff = 0, x, y, irown, orown, ptr, n, m; - ssize_t r; int tile = 0; ARGBEGIN { @@ -65,21 +64,9 @@ main(int argc, char *argv[]) off = (orown - (left % orown)) % orown; yoff = (height - (top % height)) % height; } - memcpy(buf, stream.buf, ptr = stream.ptr); - for (;;) { - for (; ptr < n; ptr += (size_t)r) { - r = read(stream.fd, buf + ptr, n - ptr); - if (r < 0) { - eprintf("read %s:", stream.file); - } else if (r == 0) { - if (!ptr) - break; - eprintf("%s: incomplete frame", stream.file); - } - } - if (!ptr) - break; + memcpy(buf, stream.buf, ptr = stream.ptr); + while (eread_frame(&stream, buf, n)) { if (!tile) { for (y = 0; y < height; y++) memcpy(image + y * orown, buf + y * irown + off, orown); @@ -90,7 +77,6 @@ main(int argc, char *argv[]) image[ptr++] = p[(x + off) % orown]; } } - ewriteall(STDOUT_FILENO, image, m, "<stdout>"); } diff --git a/src/vu-extend.c b/src/vu-extend.c @@ -17,7 +17,6 @@ main(int argc, char *argv[]) size_t ptr, n, m, imgw, imgh, rown; size_t xoff, yoff, h, x, y; size_t left = 0, right = 0, top = 0, bottom = 0; - ssize_t r; int tile = 0; ARGBEGIN { @@ -85,20 +84,7 @@ main(int argc, char *argv[]) yoff = (stream.height - (top % stream.height)) % stream.height; memcpy(buf, stream.buf, ptr = stream.ptr); - for (;;) { - for (; ptr < n; ptr += (size_t)r) { - r = read(stream.fd, buf + ptr, n - ptr); - if (r < 0) { - eprintf("read %s:", stream.file); - } else if (r == 0) { - if (!ptr) - break; - eprintf("%s: incomplete frame", stream.file); - } - } - if (!ptr) - break; - + while (eread_frame(&stream, buf, n)) { if (!tile) { for (y = 0; y < stream.height; y++) memcpy(image + left + (y + top) * imgw, buf + y * rown, rown); @@ -111,7 +97,6 @@ main(int argc, char *argv[]) for (y = top + stream.height; y < h; y++) memcpy(image + y * imgw, image + (((y + yoff) % stream.height) + top) * imgw, imgw); } - ewriteall(STDOUT_FILENO, image, m, "<stdout>"); }