Annotation of gpl/axl/test/gen-table.c, revision 1.1
1.1 ! misho 1: #include <stdio.h>
! 2:
! 3: int main (int argc, char ** argv)
! 4: {
! 5: FILE * file;
! 6: FILE * file2;
! 7: char buffer[2];
! 8: char buffer2[4];
! 9: int iterator;
! 10:
! 11: if (argc != 3) {
! 12: printf ("Please provide two files ORIGINAL and UTF-8-TRANSLATE..\n");
! 13: return -1;
! 14: }
! 15:
! 16: file = fopen (argv[1], "r");
! 17: if (file == NULL) {
! 18: printf ("failed to open: %s..\n", argv[1]);
! 19: return -1;
! 20: }
! 21:
! 22: file2 = fopen (argv[2], "r");
! 23: if (file2 == NULL) {
! 24: printf ("failed to open: %s..\n", argv[2]);
! 25: return -1;
! 26: }
! 27:
! 28: /* foreach item at the original array do */
! 29: iterator = 0;
! 30: while (fread (buffer, 1, 1, file) == 1) {
! 31:
! 32: /* read the terminator */
! 33: if (fread (&(buffer[1]), 1, 1, file) != 1) {
! 34: break;
! 35: }
! 36:
! 37: if (buffer[1] != '\n') {
! 38: printf ("Expected to find new line character at=%d..\n", iterator);
! 39: return -1;
! 40: }
! 41:
! 42:
! 43: if (fread (buffer2, 1, 1, file2) != 1) {
! 44: printf ("failed to read utf-8 file (while handling buffer[0]='%c' (%u)..\n", iterator, buffer[0], (unsigned char) buffer[0]);
! 45: return -1;
! 46: } /* end if */
! 47:
! 48: if (fread (&(buffer2[1]), 1, 1, file2) != 1) {
! 49: printf ("failed to read utf-8 file (while handling buffer[0]='%c'..\n", iterator);
! 50: return -1;
! 51: } /* end if */
! 52:
! 53: if (buffer2[1] == '\n') {
! 54: printf ("/* store item associated to code %d */\n", iterator);
! 55: printf ("table[%d].size = 1;\n", iterator);
! 56: printf ("table[%d].buffer[0] = (unsigned char) %d; /* 0x%x */\n\n", iterator, (unsigned char) iterator, (unsigned char) iterator);
! 57: iterator++;
! 58: continue;
! 59: }
! 60:
! 61: if (fread (&(buffer2[2]), 1, 1, file2) != 1) {
! 62: printf ("failed to read utf-8 file (2 type unit)..\n");
! 63: return -1;
! 64: } /* end if */
! 65:
! 66: if (buffer2[2] == '\n') {
! 67: printf ("/* store item associated to code %d */\n", iterator);
! 68: printf ("table[%d].size = 2;\n", iterator);
! 69: printf ("table[%d].buffer[0] = (unsigned char) %u; /* 0x%x */\n", iterator, (unsigned char) buffer2[0], (unsigned char) buffer2[0]);
! 70: printf ("table[%d].buffer[1] = (unsigned char) %u; /* 0x%x */\n\n", iterator, (unsigned char) buffer2[1], (unsigned char) buffer2[1]);
! 71: iterator++;
! 72: continue;
! 73: }
! 74:
! 75: if (fread (&(buffer2[3]), 1, 1, file2) != 1) {
! 76: printf ("failed to read utf-8 file (3 type unit)..\n");
! 77: return -1;
! 78: } /* end if */
! 79:
! 80: printf ("/* store item associated to code %d */\n", iterator);
! 81: printf ("table[%d].size = 3;\n", iterator);
! 82: printf ("table[%d].buffer[0] = (unsigned char) %u; /* 0x%x */\n", iterator, (unsigned char) buffer2[0], (unsigned char) buffer2[0]);
! 83: printf ("table[%d].buffer[1] = (unsigned char) %u; /* 0x%x */\n", iterator, (unsigned char) buffer2[1], (unsigned char) buffer2[1]);
! 84: printf ("table[%d].buffer[2] = (unsigned char) %u; /* 0x%x */\n\n", iterator, (unsigned char) buffer2[2], (unsigned char) buffer2[2]);
! 85: iterator++;
! 86: continue;
! 87:
! 88: }
! 89: fclose (file);
! 90: return 0;
! 91: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>