1: # include "refer..c"
   2: int newr[250];
   3: chkdup ( tag )
   4:     char *tag;
   5: {
   6: int i;
   7: for(i=1; i<=refnum; i++)
   8:     {
   9:     if (strcmp(reftable[i], tag)==0)
  10:         return(i);
  11:     }
  12: reftable[refnum+1] = rtp;
  13: if (refnum>=NRFTBL)
  14:     err("too many references (%d) for table", refnum);
  15: strcpy (rtp, tag);
  16: while (*rtp++);
  17: if (rtp > reftext + NRFTXT)
  18:     err("reftext too big (%d)", rtp-reftext);
  19: return(0);
  20: }
  21: dumpold()
  22: {
  23: FILE *fi;
  24: int c, g1 0, nr 1;
  25: if (!endpush) return;
  26: fclose(fo);
  27: fo=NULL;
  28: if (sort)
  29:     {
  30:     char comm[100];
  31:     sprintf(comm, "sort %s -o %s", tfile, tfile);
  32:     system(comm);
  33:     }
  34: fi = fopen(tfile, "r");
  35: if (fi==NULL) return;
  36: flout();
  37: fprintf(ftemp,".]<\n");
  38: while ( (c = getc(fi)) >0)
  39:     {
  40:     if (c=='\n')
  41:         {
  42:         nr++;
  43:         g1 = 0;
  44:         }
  45:     if (c==sep)
  46:         c = '\n';
  47:     if (c== FLAG)
  48:         {
  49:         /* make old-new ref number table */
  50:         char tb[20];
  51:         char *s tb;
  52:         while ( (c=getc(fi)) != FLAG)
  53:             *s++ = c;
  54:         *s=0;
  55:         if (g1++ == 0)
  56:             newr[atoi(tb)] = nr;
  57: # if D1
  58:         fprintf(stderr, "nr %d assigned to atoi(tb) %d\n",nr,atoi(tb));
  59: # endif
  60:         fprintf(ftemp,"%d", nr);
  61:         continue;
  62:         }
  63:     putc(c, ftemp);
  64:     }
  65: fclose(fi);
  66: # ifndef D1
  67: unlink(tfile);
  68: # endif
  69: fprintf(ftemp, ".]>\n");
  70: }
  71: 
  72: recopy (fnam)
  73:     char *fnam;
  74: {
  75: int c;
  76: fclose(ftemp);
  77: 
  78: ftemp = fopen(fnam, "r");
  79: if (ftemp==NULL)
  80:     {
  81:     fprintf(stderr, "Can't reopen %s\n", fnam);
  82:     exit(1);
  83:     }
  84: while ( (c = getc(ftemp)) != EOF)
  85:     {
  86:     if (c == FLAG)
  87:         {
  88:         char tb[10];
  89:         char *s tb;
  90:         while ( (c = getc(ftemp)) != FLAG)
  91:             *s++ = c;
  92:         *s=0;
  93:         printf("%d", newr[atoi(tb)]);
  94:         continue;
  95:         }
  96:     putchar(c);
  97:     }
  98: fclose(ftemp);
  99: unlink(fnam);
 100: }

Defined functions

chkdup defined in line 3; used 1 times
dumpold defined in line 21; used 2 times
recopy defined in line 72; used 2 times

Defined variables

newr defined in line 2; used 2 times
Last modified: 1981-07-10
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 779
Valid CSS Valid XHTML 1.0 Strict