Annotation of 43BSD/contrib/cpm/src/gensktab.c, revision 1.1

1.1     ! root        1: /*     gensktab.c      1.4     83/05/13        */
        !             2: #include <stdio.h>
        !             3: #include "cpmio.h"
        !             4: 
        !             5: int    skew;
        !             6: int    *skewtab;
        !             7: 
        !             8: /*
        !             9:  * Generate a skew factor table in skewtab according to the
        !            10:  * global parameters given by skew and sectrk.
        !            11:  * This routine must be called before any disk (or virtual disk)
        !            12:  * accesses are attempted.
        !            13:  */
        !            14: 
        !            15: gen_sktab()
        !            16: {
        !            17: 
        !            18:        int     *i, *j;
        !            19:        char    *malloc();
        !            20: 
        !            21:        if (( skewtab = (int *) malloc(sectrk*4)) == NULL) {
        !            22:                fprintf(stderr, 
        !            23:                        "can't allocate memory for skew sector table\n");
        !            24:                exit(1);
        !            25:        }
        !            26:        *skewtab = 1;
        !            27:        for (i=skewtab+1; i<skewtab+ sectrk; i++) {
        !            28:                *i = *(i-1) + skew;
        !            29:                if (*i > sectrk) {
        !            30:                        *i -= sectrk;
        !            31: L1:
        !            32:                        for (j=skewtab; j<i; j++) {
        !            33:                                if (*j == *i) 
        !            34:                                        break;
        !            35:                        }
        !            36:                        if (j < i ) { 
        !            37:                                ++*i; 
        !            38:                                goto L1; 
        !            39:                        }
        !            40:                }
        !            41:        }
        !            42: }

unix.superglobalmegacorp.com

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