Annotation of 43BSD/usr.bin/find/bigram.c, revision 1.1

1.1     ! root        1: #ifndef lint
        !             2: static char sccsid[] = "@(#)bigram.c   4.2     (Berkeley)      7/21/83";
        !             3: #endif not lint
        !             4: 
        !             5: /*
        !             6:  *  bigram < text > bigrams
        !             7:  * 
        !             8:  * List bigrams for 'updatedb' script.
        !             9:  * Use 'code' to encode a file using this output.
        !            10:  */
        !            11: 
        !            12: #include <stdio.h>
        !            13: 
        !            14: #define MAXPATH        1024            /* maximum pathname length */
        !            15: 
        !            16: char path[MAXPATH];
        !            17: char oldpath[MAXPATH] = " ";   
        !            18: 
        !            19: main ( )
        !            20: {
        !            21:        register int count, j;
        !            22: 
        !            23:        while ( gets ( path ) != NULL ) {
        !            24: 
        !            25:                count = prefix_length ( oldpath, path );
        !            26:                /*
        !            27:                   output post-residue bigrams only
        !            28:                */
        !            29:                for ( j = count; path[j] != NULL; j += 2 ) {
        !            30:                        if ( path[j + 1] == NULL ) 
        !            31:                                break;
        !            32:                        putchar ( path[j] );
        !            33:                        putchar ( path[j + 1] );
        !            34:                        putchar ( '\n' );
        !            35:                }
        !            36:                strcpy ( oldpath, path );
        !            37:        }
        !            38: }
        !            39: 
        !            40: prefix_length ( s1, s2 )       /* return length of longest common prefix */
        !            41:        char *s1, *s2;          /* ... of strings s1 and s2 */
        !            42: {
        !            43:        register char *start;
        !            44: 
        !            45:        for ( start = s1; *s1 == *s2; s1++, s2++ )      
        !            46:                if ( *s1 == NULL )              
        !            47:                        break;
        !            48:        return ( s1 - start );
        !            49: }

unix.superglobalmegacorp.com

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