static char *sccsid
= "@(#)refer7.c 4.4 (Berkeley) 9/30/87";
for(i
= 1; i
<= refnum
; i
++) {
if (strcmp(reftable
[i
], tag
)==0)
reftable
[refnum
+1] = rtp
;
err("too many references (%d) for table", refnum
);
if (rtp
> reftext
+ NRFTXT
)
err("reference pointers too long (%d)", rtp
-reftext
);
sprintf(comm
, "sort -f %s -o %s", tfile
, tfile
);
while ((c
= getc(fi
)) > 0) {
/* make old-new ref number table */
while ((c
= getc(fi
)) != FLAG
)
"nr %d assigned to atoi(tb) %d\n",nr
,atoi(tb
));
wref
= (int *)calloc((unsigned)wsize
, (unsigned)sizeof(int));
ftemp
= fopen(fnam
, "r");
fprintf(stderr
, "Can't reopen %s\n", fnam
);
while ((c
= getc(ftemp
)) != EOF
) {
while ((c
= getc(ftemp
)) != FLAG
)
* If sort was done, permute the reference number
* to obtain the final reference number, finalrn.
finalrn
= newr
[atoi(tb
)];
((wref
=realloc(wref
,(wsize
+=50)*sizeof(int)))==NULL
)){
fprintf(stderr
, "Ref condense out of memory.");
if ((c
= getc(ftemp
)) == AFLAG
)
* sort and condense referance signals when they are placed in
* the text. Viz, the signal 1,2,3,4 is condensed to 1-4 and signals
* of the form 5,2,9 are converted to 2,5,9
condense(wref
, wcnt
, sig
)
qsort(wref
, wcnt
, sizeof(int), wswap
);
sprintf(wt
,"%d",wref
[i
]);
if ((i
+2 < wcnt
) && (wref
[i
] == (wref
[i
+2] - 2))) {
while (wref
[i
] == (wref
[i
+1] - 1))