|
|
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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.