aboutsummaryrefslogtreecommitdiffstats
path: root/src/vu-read-head.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vu-read-head.c')
-rw-r--r--src/vu-read-head.c63
1 files changed, 0 insertions, 63 deletions
diff --git a/src/vu-read-head.c b/src/vu-read-head.c
deleted file mode 100644
index afb2fbc..0000000
--- a/src/vu-read-head.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/* See LICENSE file for copyright and license details. */
-#include "stream.h"
-#include "util.h"
-
-#include <ctype.h>
-#include <unistd.h>
-
-USAGE("")
-
-int
-main(int argc, char *argv[])
-{
- char buf[STREAM_HEAD_MAX];
- char magic[] = {'\0', 'u', 'i', 'v', 'f'};
- char b, *p;
- size_t i, ptr;
- ssize_t r;
-
- ENOFLAGS(argc);
-
- for (ptr = 0; ptr < sizeof(buf);) {
- r = read(STDIN_FILENO, buf + ptr, 1);
- if (r < 0)
- eprintf("read <stdin>:");
- if (r == 0)
- goto bad_format;
- if (buf[ptr++] == '\n')
- break;
- }
- if (ptr == sizeof(buf))
- goto bad_format;
-
- p = buf;
- for (i = 0; i < 5; i++) {
- r = read(STDIN_FILENO, &b, 1);
- if (r < 0)
- eprintf("read <stdin>:");
- if (r == 0 || b != magic[i])
- goto bad_format;
- }
-
- for (i = 0; i < 3; i++) {
- if (!isdigit(*p))
- goto bad_format;
- while (isdigit(*p)) p++;
- if (*p++ != ' ')
- goto bad_format;
- }
- while (isalnum(*p) || *p == ' ') {
- if (p[0] == ' ' && p[-1] == ' ')
- goto bad_format;
- p++;
- }
- if (p[-1] == ' ' || p[0] != '\n')
- goto bad_format;
-
- ewriteall(STDOUT_FILENO, buf, ptr, "<stdout>");
-
- return 0;
-bad_format:
- eprintf("<stdin>: file format not supported\n");
- return 0;
-}