summaryrefslogtreecommitdiff
path: root/dviware/beebe/src/findpost.h
blob: 253e2b196e8d3b8948441f4e5df74d7a87ef672c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/* -*-C-*- findpost.h */
/*-->findpost*/
/**********************************************************************/
/****************************** findpost ******************************/
/**********************************************************************/

void
findpost()

{
    register long	postambleptr;
    register BYTE	i;

    (void) FSEEK (dvifp, 0L, 2); /* goto end of file */
    postambleptr = FTELL(dvifp) - 4;
    (void) FSEEK (dvifp, postambleptr, 0);

    while (TRUE)
    {
	(void) FSEEK (dvifp, --(postambleptr), 0);
	if (((i = (BYTE)nosignex(dvifp,(BYTE)1)) != 223) &&
	    (i != DVIFORMAT))
	    (void)fatal("findpost():  Bad end of DVI file");
	if (i == DVIFORMAT)
	    break;
    }
    (void) FSEEK (dvifp, postambleptr - 4, 0);
    (void) FSEEK (dvifp, (long)nosignex(dvifp,(BYTE)4), 0);
}