aboutsummaryrefslogtreecommitdiffstats
path: root/src/blind-rewrite-head.c
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2017-01-14 04:40:03 +0100
committerMattias Andrée <maandree@kth.se>2017-01-14 04:40:03 +0100
commita2dfbb3368ce0e998f774dd294383772651d1302 (patch)
tree094dbc3206297d3b3b0d090daff426ce66ea45f7 /src/blind-rewrite-head.c
parentRename to blind (diff)
downloadblind-a2dfbb3368ce0e998f774dd294383772651d1302.tar.gz
blind-a2dfbb3368ce0e998f774dd294383772651d1302.tar.bz2
blind-a2dfbb3368ce0e998f774dd294383772651d1302.tar.xz
Fix errors, blind-{to,from}-{video,image} works
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'src/blind-rewrite-head.c')
-rw-r--r--src/blind-rewrite-head.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/blind-rewrite-head.c b/src/blind-rewrite-head.c
index 0de1716..1de8a29 100644
--- a/src/blind-rewrite-head.c
+++ b/src/blind-rewrite-head.c
@@ -42,22 +42,22 @@ rewrite(struct stream *stream, int frames_auto)
stream->frames, stream->width, stream->height, stream->pixfmt, 0, &headlen);
length = stream->frames * frame_size;
- if (length > (size_t)SSIZE_MAX || headlen > (size_t)SSIZE_MAX - length)
+ if (length > (size_t)SSIZE_MAX || (size_t)headlen > (size_t)SSIZE_MAX - length)
eprintf("%s: video is too long\n", stream->file);
- if (headlen > stream->headlen)
+ if ((size_t)headlen > stream->headlen)
if (ftruncate(stream->fd, length + headlen))
eprintf("ftruncate %s:", stream->file);
- data = mmap(0, length + (size_t)headlen, PROT_READ | PROT_WRITE, MAP_PRIVATE, stream->fd, 0);
+ data = mmap(0, length + (size_t)headlen, PROT_READ | PROT_WRITE, MAP_SHARED, stream->fd, 0);
if (data == MAP_FAILED)
eprintf("mmap %s:", stream->file);
- if (headlen != stream->headlen)
+ if ((size_t)headlen != stream->headlen)
memmove(data + headlen, data + stream->headlen, length);
memcpy(data, head, (size_t)headlen);
munmap(data, length + (size_t)headlen);
- if (headlen < stream->headlen)
+ if ((size_t)headlen < stream->headlen)
if (ftruncate(stream->fd, length + headlen))
eprintf("ftruncate %s:", stream->file);
}
@@ -80,7 +80,7 @@ main(int argc, char *argv[])
if (headless) {
if (argc != 5)
eprintf("all positional arguments are mandatory unless -h is used\n");
- } else if (argc != 1 || argc != 2 || argc != 4 || argc != 5) {
+ } else if (argc != 1 && argc != 2 && argc != 4 && argc != 5) {
usage();
}