|
|
1.1 ! root 1: #ifndef lint ! 2: static char sccsid[] = "@(#)run1.c 4.1 (Berkeley) 1/1/83"; ! 3: #endif ! 4: ! 5: # include "stdio.h" ! 6: # define LAST "\177\177" ! 7: main (argc,argv) ! 8: char *argv[]; ! 9: { ! 10: FILE *rem, *loc, *cfil; ! 11: char namel[100], namer[100]; ! 12: char cname[20], zname[20]; ! 13: int mr, ml; ! 14: long suml, sumr; ! 15: ml=mr=1; ! 16: loc = fopen(argv[1], "r"); ! 17: rem = fopen (argv[2], "r"); ! 18: cfil = fopen (argv[3], "w"); ! 19: ml = fetch (loc, namel, &suml, ml); ! 20: mr = fetch (rem, namer, &sumr, mr); ! 21: while ( ml || mr) ! 22: { ! 23: int x; ! 24: x = strcmp(namel, namer); ! 25: if (x>0) x=1; ! 26: if (x<0) x= -1; ! 27: switch(x) ! 28: { ! 29: case -1: /* name l lower */ ! 30: /* check that file is not our zz* tempfile */ ! 31: if (notmp(namel, argv[2])) ! 32: printf("Missing on remote system: %s\n",namel); ! 33: ml = fetch (loc, namel, &suml, ml); ! 34: continue; ! 35: case 0: /* match names */ ! 36: if (strcmp(namel, LAST)==0) ! 37: exit(0); ! 38: if (suml == sumr) ! 39: printf("Presumed identical: %s\n",namel); ! 40: else ! 41: { ! 42: printf("Differ: %s\n", namel); ! 43: fprintf(cfil, "%s\n", namel); ! 44: } ! 45: ml=fetch(loc, namel, &suml, ml); ! 46: mr=fetch(rem, namer, &sumr, mr); ! 47: continue; ! 48: case 1: /* name 2 lower */ ! 49: printf("Extraneous file on remote system: %s\n",namer); ! 50: mr=fetch(rem, namer, &sumr, mr); ! 51: continue; ! 52: default: ! 53: printf("illegal case %d\n", strcmp(namel,namer)); ! 54: exit(0); ! 55: } ! 56: } ! 57: } ! 58: fetch (f, s, lp, m) ! 59: FILE *f; ! 60: char *s; ! 61: long *lp; ! 62: { ! 63: char b[200]; ! 64: if (m==0 ||fgets(b, 200, f)==0) ! 65: { ! 66: strcpy (s, LAST); ! 67: return (0); ! 68: } ! 69: sscanf(b, "%s %lo", s, lp); ! 70: return (1); ! 71: } ! 72: notmp(s1, s2) ! 73: char *s1, *s2; ! 74: { ! 75: char bf1[20], bf2[20]; ! 76: strcpy (bf1, s1); ! 77: strcpy (bf2, s2); ! 78: bf1[2]= bf2[2] = '0'; ! 79: return (strcmp(bf1, bf2)); ! 80: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.