Annotation of researchv10no/cmd/basic/bite/src/lnpars.c, revision 1.1

1.1     ! root        1: /* Copyright Bell Telephone Laboratories Whippany, N.J.
        !             2: 
        !             3:  *     ***********************************
        !             4:  *     ***********************************
        !             5:  *     ******* LINE NUMBER PARSER ********
        !             6:  *     *** R. B. Drake WH 8C-005 X4163 ***
        !             7:  *     **** Sun Aug 26 10:46:06 1979 *****
        !             8:  *     ***********************************
        !             9:  *     ***********************************
        !            10: 
        !            11: */
        !            12: /*   "@(#) lnpars.c:  V 1.1  12/21/80" */
        !            13: 
        !            14: /*mini parser to handle expressions of the form
        !            15:  * "line number" - "line number"
        !            16: */
        !            17: #include "bas.h"
        !            18: extern int start,finish;
        !            19: lnpars()
        !            20: {
        !            21:        char as[2][10];
        !            22:        int i,j,k;
        !            23:        char c;
        !            24:        /* zero the ascii txtbuf */
        !            25:        for(j=0;j<2;j++)
        !            26:                for(k=0;k<10;k++)
        !            27:                        as[j][k] = '\0';
        !            28:        /* separate the line into two parts */
        !            29: 
        !            30:        for(i=0,j=0,k=0;expr[i] != 0; i++,k++)
        !            31:        {
        !            32:                if((c = expr[i])== '-' || c==',' || c== ' ')
        !            33:                {
        !            34:                        j++;
        !            35:                        k= -1;
        !            36:                        continue;
        !            37:                }
        !            38:                if(j >1 || k > 9)
        !            39:                {
        !            40:                        error(inst.thing.linno,0);
        !            41:                        return(-1);
        !            42:                }
        !            43:                as[j][k]=expr[i];
        !            44:        }
        !            45:        /* convert ascii strings to int */
        !            46:        start=atoi(&as[0][0]);
        !            47:        finish=atoi(&as[1][0]);
        !            48:        if(j !=0 && finish == 0)
        !            49:                finish=32767;
        !            50:        return 0;
        !            51: }
        !            52: 
        !            53: 

unix.superglobalmegacorp.com

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