|
|
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.