Annotation of researchv10no/cmd/refer/update/runup6.c, revision 1.1.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.