4 * map page numbers to file position
8 #include <X11/IntrinsicP.h>
9 #include <X11/StringDefs.h>
15 MapPageNumberToFileMap (dw
, number
)
21 for (m
= dw
->dvi
.file_map
; m
; m
=m
->next
)
22 if (m
->page_number
== number
)
38 ForgetPagePositions (dw
)
41 DestroyFileMap (dw
->dvi
.file_map
);
45 RememberPagePosition(dw
, number
)
52 if (!(m
= MapPageNumberToFileMap (dw
, number
))) {
53 m
= (DviFileMap
*) malloc (sizeof *m
);
54 m
->page_number
= number
;
55 m
->next
= dw
->dvi
.file_map
;
59 m
->position
= ftell (dw
->dvi
.tmpFile
);
61 m
->position
= ftell (dw
->dvi
.file
);
64 SearchPagePosition (dw
, number
)
70 if (!(m
= MapPageNumberToFileMap (dw
, number
)))
75 FileSeek(dw
, position
)
79 if (dw
->dvi
.tmpFile
) {
80 dw
->dvi
.readingTmp
= 1;
81 fseek (dw
->dvi
.tmpFile
, position
, 0);
83 fseek (dw
->dvi
.file
, position
, 0);