summaryrefslogtreecommitdiff
path: root/src/modules/lexdict/rawld/rawldidx.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/lexdict/rawld/rawldidx.c')
-rw-r--r--src/modules/lexdict/rawld/rawldidx.c96
1 files changed, 0 insertions, 96 deletions
diff --git a/src/modules/lexdict/rawld/rawldidx.c b/src/modules/lexdict/rawld/rawldidx.c
deleted file mode 100644
index cc4709c..0000000
--- a/src/modules/lexdict/rawld/rawldidx.c
+++ /dev/null
@@ -1,96 +0,0 @@
-/*****************************************************************************
- * Bible dictionary index utility
- */
-
-
-#ifndef __GNUC__
-#include <io.h>
-#else
-#include <unistd.h>
-#endif
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-
-char findbreak(int fd, long *offset, short *size)
-{
- char buf[3];
- char rc = 1;
- long offset2;
-
- memset(buf, 0, sizeof(buf));
-
- while (read(fd, &buf[sizeof(buf)-1], 1) == 1) {
- if ((buf[0] == 10) && (buf[1] == '$') && (buf[2] == '$')) {
- while (read(fd, buf, 1) == 1) {
- if (*buf == 10) {
- if (read(fd, buf, 1) == 1) {
- *offset = lseek(fd, 0, SEEK_CUR);
- rc = 0;
- if (size) {
- if (!findbreak(fd, &offset2, 0))
- *size = offset2 - *offset - 13;
- else *size = lseek(fd, 0, SEEK_END) - *offset;
- lseek(fd, *offset, SEEK_SET);
- }
- break;
- }
- }
- }
- break;
- }
- memmove(buf, &buf[1], sizeof(buf)-1);
- }
- return rc;
-}
-
-
-void main(int argc, char **argv)
-{
- int fd, ifd;
- long offset;
- short size;
- char *buf;
-
- if (argc < 2) {
- fprintf(stderr, "usage: %s <file to process (no .dat)>\n", argv[0]);
- exit(1);
- }
-
- buf = (char *) calloc(strlen(argv[1]) + 5, 1);
-
-#ifndef O_BINARY // O_BINARY is for Borland to be happy. If we're in GNU, just define it to a NULL mask
-#define O_BINARY 0
-#endif
- sprintf(buf, "%s.dat", argv[1]);
- fd = open(buf, O_RDONLY|O_BINARY);
-
- sprintf(buf, "%s.idx", argv[1]);
- ifd = open(buf, O_CREAT|O_WRONLY|O_BINARY);
-
- offset = 0; /* write offset for intro */
- write(ifd, &offset, 4);
- findbreak(fd, &offset, 0);
- lseek(fd, 0L, SEEK_SET);
- size = offset - 12;
- write(ifd, &size, 2);
-
- buf[3] = 0; /* delimit string for read below */
-
- while(!findbreak(fd, &offset, &size)) {
- write(ifd, &offset, 4);
- write(ifd, &size, 2);
- read(fd, buf, 3);
- printf("Found: %s...(%ld:%d)\n", buf, offset, size);
- }
-
- free(buf);
-
- close(ifd);
- close(fd);
-}