diff options
| author | Mattias Andrée <maandree@kth.se> | 2017-05-10 16:59:26 +0200 |
|---|---|---|
| committer | Mattias Andrée <maandree@kth.se> | 2017-05-10 16:59:26 +0200 |
| commit | 6b998b5ed066aeece1146fe245b35965319b3cbd (patch) | |
| tree | c963b48fbefafcec89a4e4af238869a1cb51148e /src/blind-decompress.c | |
| parent | blind-flip is optimal (diff) | |
| download | blind-6b998b5ed066aeece1146fe245b35965319b3cbd.tar.gz blind-6b998b5ed066aeece1146fe245b35965319b3cbd.tar.bz2 blind-6b998b5ed066aeece1146fe245b35965319b3cbd.tar.xz | |
Cleaner code
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'src/blind-decompress.c')
| -rw-r--r-- | src/blind-decompress.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/blind-decompress.c b/src/blind-decompress.c index fd436f6..602fdac 100644 --- a/src/blind-decompress.c +++ b/src/blind-decompress.c @@ -3,7 +3,6 @@ #include "util.h" #include <string.h> -#include <unistd.h> USAGE("") @@ -12,35 +11,34 @@ main(int argc, char *argv[]) { struct stream stream; char *buf; - size_t n, m, fptr, sptr, same = 0, diff = 0; + size_t m, fptr, sptr, same = 0, diff = 0; UNOFLAGS(argc); eopen_stream(&stream, NULL); + echeck_dimensions(&stream, WIDTH | HEIGHT, NULL); fprint_stream_head(stdout, &stream); efflush(stdout, "<stdout>"); - echeck_frame_size(stream.width, stream.height, stream.pixel_size, 0, "<stdin>"); - n = stream.width * stream.height * stream.pixel_size; - buf = ecalloc(1, n); + buf = ecalloc(1, stream.frame_size); fptr = 0; do { sptr = 0; again: while (same) { - m = MIN(same, n - fptr); + m = MIN(same, stream.frame_size - fptr); ewriteall(STDOUT_FILENO, buf + fptr, m, "<stdout>"); - fptr = (fptr + m) % n; + fptr = (fptr + m) % stream.frame_size; same -= m; } while (diff && sptr < stream.ptr) { - m = MIN(diff, n - fptr); + m = MIN(diff, stream.frame_size - fptr); m = MIN(m, stream.ptr - sptr); memcpy(buf + fptr, stream.buf + sptr, m); ewriteall(STDOUT_FILENO, buf + fptr, m, "<stdout>"); - fptr = (fptr + m) % n; + fptr = (fptr + m) % stream.frame_size; diff -= m; sptr += m; } |
