4 * map page numbers to file position
8 #include <X11/IntrinsicP.h>
9 #include <X11/StringDefs.h>
19 MapPageNumberToFileMap (DviWidget dw, int number)
23 for (m = dw->dvi.file_map; m; m=m->next)
24 if (m->page_number == number)
30 DestroyFileMap (DviFileMap *m)
41 ForgetPagePositions (DviWidget dw)
43 DestroyFileMap (dw->dvi.file_map);
48 RememberPagePosition(DviWidget dw, int number)
52 if (!(m = MapPageNumberToFileMap (dw, number))) {
53 m = (DviFileMap *) XtMalloc (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);
65 SearchPagePosition (DviWidget dw, int number)
69 if (!(m = MapPageNumberToFileMap (dw, number)))
75 FileSeek(DviWidget dw, long position)
77 if (dw->dvi.tmpFile) {
78 dw->dvi.readingTmp = 1;
79 fseek (dw->dvi.tmpFile, position, 0);
81 fseek (dw->dvi.file, position, 0);