Annotation of researchv10no/cmd/dict/colthread.c, revision 1.1.1.1

1.1       root        1: /* remove formatting information from collins thesaurus entries */
                      2: #include <stdio.h>
                      3: #include "/usr/jerq/include/jioctl.h"
                      4: 
                      5: int linesize = 65;
                      6: struct winsize winsize;
                      7: 
                      8: main()
                      9: {
                     10:        int c, d, n;
                     11:        if(ioctl(1,JWINSIZE,&winsize)==0)
                     12:                linesize = winsize.bytesx;
                     13:        for(;;) {
                     14:                c = getchar();
                     15:                switch(c) {
                     16:                case EOF:
                     17:                        return(0);
                     18:                case '*':
                     19:                        c = getchar();
                     20:                        if(c=='S') {
                     21:                                put('(');
                     22:                                put(getchar());
                     23:                                put(')');
                     24:                        }
                     25:                        break;
                     26:                case '#':
                     27:                        c = getchar();
                     28:                        switch(getchar()) {
                     29:                        case '1': put('\'');
                     30:                        case '2': put('`');
                     31:                        case '3': put('^');
                     32:                        case '4': put('"');
                     33:                        case '5': put(',');
                     34:                        }
                     35:                        put('\b');
                     36:                        put(c);
                     37:                        break;
                     38:                case '+':
                     39:                case '<':
                     40:                        break;
                     41:                default:
                     42:                        put(c);
                     43:                }
                     44:        }
                     45: }
                     46: 
                     47: char word[50];
                     48: int linelen, wordlen;
                     49: 
                     50: put(c)
                     51: int c;
                     52: {
                     53:        word[wordlen++] = c;
                     54:        switch(c){
                     55:        case '\b':
                     56:                wordlen -= 2;
                     57:                break;
                     58:        case '-':
                     59:        case ' ':
                     60:                putword();
                     61:                break;
                     62:        case '\n':
                     63:                putword();
                     64:                newline();
                     65:                break;
                     66:        }
                     67: }
                     68: 
                     69: newline()
                     70: {
                     71:        putchar('\n');
                     72:        linelen = 0;
                     73: }
                     74: 
                     75: putword()
                     76: {
                     77:        word[wordlen] = 0;
                     78:        if(linelen+wordlen > linesize-2)
                     79:                newline();
                     80:        printf("%s", word);
                     81:        linelen += wordlen;
                     82:        wordlen = 0;
                     83: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.