Annotation of 41BSD/cmd/uudiff/run1.c, revision 1.1.1.1

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

unix.superglobalmegacorp.com

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