summaryrefslogtreecommitdiff
path: root/src/modules/texts/rawtext/ojbtxidx.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/texts/rawtext/ojbtxidx.c')
-rw-r--r--src/modules/texts/rawtext/ojbtxidx.c166
1 files changed, 0 insertions, 166 deletions
diff --git a/src/modules/texts/rawtext/ojbtxidx.c b/src/modules/texts/rawtext/ojbtxidx.c
deleted file mode 100644
index f70cc01..0000000
--- a/src/modules/texts/rawtext/ojbtxidx.c
+++ /dev/null
@@ -1,166 +0,0 @@
-#include <stdio.h>
-#include <fcntl.h>
-#ifndef __GNUC__
-#include <io.h>
-#else
-#include <unistd.h>
-#endif
-
-
-char findbreak(int fd, long *offset, int *num1, int *num2, short *size);
-
-
-main(int argc, char **argv)
-{
- int fd, vfd, cfd, bfd;
- long pos, offset;
- short size, tmp;
- int num1, num2, curbook = 0, curchap = 0, curverse = 0;
- char buf[127];
-
- if (argc != 2) {
- fprintf(stderr, "usage: %s <file to process>\n", argv[0]);
- exit(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
- if ((fd = open(argv[1], O_RDONLY|O_BINARY)) == -1) {
- fprintf(stderr, "Couldn't open file: %s\n", argv[1]);
- exit(1);
- }
-
- sprintf(buf, "%s.vss", argv[1]);
- if ((vfd = open(buf, O_CREAT|O_WRONLY|O_BINARY)) == -1) {
- fprintf(stderr, "Couldn't open file: %s\n", buf);
- exit(1);
- }
-
- sprintf(buf, "%s.cps", argv[1]);
- if ((cfd = open(buf, O_CREAT|O_WRONLY|O_BINARY)) == -1) {
- fprintf(stderr, "Couldn't open file: %s\n", buf);
- exit(1);
- }
-
- sprintf(buf, "%s.bks", argv[1]);
- if ((bfd = open(buf, O_CREAT|O_WRONLY|O_BINARY)) == -1) {
- fprintf(stderr, "Couldn't open file: %s\n", buf);
- exit(1);
- }
-
- pos = 0;
- write(bfd, &pos, 4); /* Book offset for testament intros */
- pos = 4;
- write(cfd, &pos, 4); /* Chapter offset for testament intro */
-
-
-/* Right now just zero out intros until parsing correctly */
- pos = 0;
- size = 0;
- write(vfd, &pos, 4); /* Module intro */
- write(vfd, &size, 2);
- write(vfd, &pos, 4); /* Testament intro */
- write(vfd, &size, 2);
-
- while (!findbreak(fd, &offset, &num1, &num2, &size)) {
-
- if (num2 == 1) { /* if we're at a new chapter */
- if (num1 == 1) { /* if we're at a new book */
- pos = lseek(cfd, 0, SEEK_CUR);
- write(bfd, &pos, 4);
- pos = lseek(vfd, 0, SEEK_CUR); /* Book intro (cps) */
- write(cfd, &pos, 4);
- pos = 0;
- tmp = 0;
- write(vfd, &pos, 4); /* Book intro (vss) */
- write(vfd, &tmp, 2);
- curbook++;
- curchap = 0;
- }
- pos = lseek(vfd, 0, SEEK_CUR);
- write(cfd, &pos, 4);
- curverse = 1;
- pos = 0;
- tmp = 0;
- write(vfd, &pos, 4); /* Chapter intro */
- write(vfd, &tmp, 2);
- curchap++;
- }
- else curverse++;
-
- printf("%2d:%3d:%3d found at offset: %7ld\n", curbook, num1, num2, offset);
-
- if (num1 != curchap) {
- fprintf(stderr, "Error: Found chaptures out of sequence (%2d:%3d:%3d)\n", curbook, num1-1, num2);
- curchap = num1;
-// break;
- }
- if (num2 != curverse) {
- fprintf(stderr, "Error: Found verses out of sequence (%2d:%3d:%3d)\n", curbook, num1, num2-1);
-// break;
- tmp = 0;
- curverse = num2;
- write(vfd, &offset, 4);
- write(vfd, &tmp, 2);
- }
- write(vfd, &offset, 4);
- write(vfd, &size, 2);
- }
-
- close(vfd);
- close(cfd);
- close(bfd);
- close(fd);
- return 0;
-}
-
-
-char findbreak(int fd, long *offset, int *num1, int *num2, short *size)
-{
- char buf[8];
- char buf2[7];
- char loop, len, star;
-
- memset(buf, ' ', 7);
- buf[7] = 0;
-
- while (1) {
-
- memmove(buf, &buf[1], 6);
- if (read(fd, &buf[6], 1) != 1)
- return 1;
-
- if ((buf[0] == 10) && ((buf[2] == '*') || (buf[3] == '*') || (buf[4] == '*'))) {
- star = 0;
- for (loop = 0; loop < 7; loop++) {
- if (buf[loop] == '*')
- star = 1;
- if (isdigit(buf[loop])&&star)
- break;
- else buf[loop] = ' ';
- }
- if (loop < 7) {
- sscanf(buf, "%d", num1);
- continue;
- }
- }
-
- if ((buf[0] == '|') && (isdigit(buf[1]))) {
- sscanf(&buf[1], "%d", num2);
- sprintf(buf, "%d", *num2);
- (*offset) = lseek(fd, 0, SEEK_CUR);
- (*offset) -= (4-strlen(buf));
-
- for (len = 1; len == 1; len = read(fd, &loop, 1)) {
- if (loop == '|')
- break;
- }
-
- *size = (short)(lseek(fd, 0, SEEK_CUR) - *offset) - 1;
- lseek(fd, -1, SEEK_CUR);
- break;
- }
- }
- return 0;
-}
-