Annotation of researchv10no/cmd/refer/update/runup6.c, revision 1.1

1.1     ! root        1: # include "runup.h"
        !             2: int nhash =0;
        !             3: # define LCOMM 1000
        !             4: makenew(argc,argv)
        !             5:        char *argv[];
        !             6: {
        !             7: struct bibfile *bibp;
        !             8: char jcomm[LCOMM], bno[20];
        !             9: int i, f;
        !            10: strcpy(jcomm, "chdir ");
        !            11: strcat (jcomm, rundir);
        !            12: strcat (jcomm, "; ");
        !            13: strcat (jcomm, "/usr/lib/refer/mkey ");
        !            14: for(bibp=bibs; bibp->bibfno>=0; bibp++)
        !            15:        {
        !            16:        sprintf(bno, "bib%03d ", bibp->bibfno);
        !            17:        strcat(jcomm, bno);
        !            18: # if D1
        !            19:        printf("bno to add is %s\n",bno);
        !            20: # endif
        !            21:        assert(strlen(jcomm)<LCOMM);
        !            22:        }
        !            23: for(i=1;i<argc;i++)
        !            24:        {
        !            25:        strcat(jcomm, argv[i]);
        !            26:        strcat(jcomm, " ");
        !            27:        }
        !            28: strcat(jcomm, "| /usr/lib/refer/inv -n ");
        !            29: f = open("Ind.ia", 0);
        !            30: read(f, &nhash, 2);
        !            31: close(f);
        !            32: sprintf(bno, "-h%d ", nhash);
        !            33: strcat(jcomm, bno);
        !            34: strcat (jcomm, Master);
        !            35: strcat (jcomm, "/NN");
        !            36: assert(strlen(jcomm)<LCOMM);
        !            37: if (verbose) printf("Invoking system got %.1f of %d sec.  Command:\n\t%s\n",tuse(),tlapse(),jcomm);
        !            38: system(jcomm);
        !            39: if (verbose) printf("Returned got %.1f of %d sec.\n", tuse(), tlapse());
        !            40: }
        !            41: 
        !            42: # define NMAP 100
        !            43: struct mapper maps[NMAP] {{0L,0L}};
        !            44: struct mapper *mapnow = maps+1;
        !            45: ckpos (lold, lnew)
        !            46:        long lold, lnew;
        !            47: {
        !            48: struct mapper *mp;
        !            49: long lt;
        !            50: lt = mappos(lold);
        !            51: if (lt==lnew) return;
        !            52: mapnow->map_old = lold;
        !            53: mapnow->map_by = lnew-lold;
        !            54: mapnow++;
        !            55: assert(mapnow<maps+NMAP);
        !            56: # if D1
        !            57: for(mp=maps; mp<mapnow; mp++)
        !            58:        printf("Map %ld by %ld\n", mp->map_old, mp->map_by);
        !            59: # endif
        !            60: return;
        !            61: }
        !            62: 
        !            63: long
        !            64: mappos(lold)
        !            65:        long lold;
        !            66: {
        !            67: struct mapper *mp;
        !            68: for(mp=maps; mp<mapnow; mp++)
        !            69:        {
        !            70:        if (mp->map_old>lold)
        !            71:                break;
        !            72:        }
        !            73: mp--;
        !            74: assert(mp>=maps);
        !            75: return(lold+mp->map_by);
        !            76: }

unix.superglobalmegacorp.com

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