Annotation of 41BSD/cmd/refer/inv5.c, revision 1.1.1.1

1.1       root        1: # include "stdio.h"
                      2: 
                      3: recopy (ft, fb, fa, nhash)
                      4:        FILE *ft, *fb, *fa;
                      5: {
                      6: /* copy fb (old hash items/pointers) to ft (new ones) */
                      7: int n, i, iflong;
                      8: long getl();
                      9: int getw();
                     10: int *hpt_s;
                     11: int (*getfun)();
                     12: long *hpt_l;
                     13: long k, lp;
                     14: if (fa==NULL)
                     15:        {
                     16:        err("No old pointers",0);
                     17:        return;
                     18:        }
                     19: fread(&n, sizeof(n), 1, fa);
                     20: fread(&iflong, sizeof(iflong), 1, fa);
                     21: if (iflong)
                     22:        {
                     23:        hpt_l =  calloc(sizeof(*hpt_l), n+1);
                     24:        n =fread(hpt_l, sizeof(*hpt_l), n, fa);
                     25:        }
                     26: else
                     27:        {
                     28:        hpt_s =  calloc(sizeof(*hpt_s), n+1);
                     29:        n =fread(hpt_s, sizeof(*hpt_s), n, fa);
                     30:        }
                     31: if (n!= nhash)
                     32:        fprintf(stderr, "Changing hash value to old %d\n",n);
                     33: fclose(fa);
                     34: if (iflong)
                     35:        getfun = getl;
                     36: else
                     37:        getfun = getw;
                     38: for(i=0; i<n; i++)
                     39:        {
                     40:        if (iflong)
                     41:                lp = hpt_l[i];
                     42:        else
                     43:                lp = hpt_s[i];
                     44:        fseek(fb, lp, 0);
                     45:        while ( (k= (*getfun)(fb) ) != -1)
                     46:                fprintf(ft, "%04d %06ld\n",i,k);
                     47:        }
                     48: fclose(fb);
                     49: return(n);
                     50: }

unix.superglobalmegacorp.com

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