Annotation of 43BSD/old/uudiff/run1.c, revision 1.1.1.1

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: }

unix.superglobalmegacorp.com

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