diff options
author | Jonathan Kew <jfkthame@googlemail.com> | 2007-11-21 12:32:29 +0000 |
---|---|---|
committer | Jonathan Kew <jfkthame@googlemail.com> | 2007-11-21 12:32:29 +0000 |
commit | 17aeed8e129118bdb3b7eb0ef3a18241dcda40eb (patch) | |
tree | d6faebee2c4a64d8e504650b5cb40d78c0c68b56 /Build/source/texk/web2c/texmfmp.h | |
parent | 952d69f85d43b087ce9fa79d3fc6f1c076000bc7 (diff) |
merged XeTeX 0.997 from SIL repository
git-svn-id: svn://tug.org/texlive/trunk@5537 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/texmfmp.h')
-rw-r--r-- | Build/source/texk/web2c/texmfmp.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/texmfmp.h b/Build/source/texk/web2c/texmfmp.h index ba778ccc3a8..edf01750e73 100644 --- a/Build/source/texk/web2c/texmfmp.h +++ b/Build/source/texk/web2c/texmfmp.h @@ -7,6 +7,10 @@ #include <kpathsea/tex-make.h> /* for kpse_make_tex_discard_errors */ #ifdef XeTeX +#include <zlib.h> +#endif + +#ifdef XeTeX /* added typedefs for unicodefile and voidpointer */ #define XETEX_UNICODE_FILE_DEFINED 1 typedef struct { @@ -217,9 +221,22 @@ extern void setupboundvariable P3H(integer *, const_string, integer); #define ofmopenin(f) open_input (&(f), kpse_ofm_format, FOPEN_RBIN_MODE) #define bopenout(f) open_output (&(f), FOPEN_WBIN_MODE) #define bclose aclose +#ifdef XeTeX +/* f is declared as gzFile (typedef'd as void *), but we temporarily + use it for a FILE * so that we can use the standard open calls */ +#define wopenin(f) (open_input ((FILE**)&(f), DUMP_FORMAT, FOPEN_RBIN_MODE) \ + && (f = gzdopen(fileno((FILE*)f), FOPEN_RBIN_MODE))) +#define wopenout(f) (open_output ((FILE**)&(f), FOPEN_WBIN_MODE) \ + && (f = gzdopen(fileno((FILE*)f), FOPEN_WBIN_MODE)) \ + && (gzsetparams(f, 1, Z_DEFAULT_STRATEGY) == Z_OK)) +#define wclose(f) gzclose(f) +#define weof(f) gzeof(f) +#else #define wopenin(f) open_input (&(f), DUMP_FORMAT, FOPEN_RBIN_MODE) #define wopenout bopenout #define wclose aclose +#endif + #ifdef XeTeX #define uopenin(f,p,m,d) u_open_in(&(f), p, FOPEN_RBIN_MODE, m, d) #endif @@ -286,8 +303,13 @@ extern void paintrow (/*screenrow, pixelcolor, transspec, screencol*/); } while (0) /* We define the routines to do the actual work in texmf.c. */ +#ifdef XeTeX +extern void do_dump P4H(char *, int, int, gzFile); +extern void do_undump P4H(char *, int, int, gzFile); +#else extern void do_dump P4H(char *, int, int, FILE *); extern void do_undump P4H(char *, int, int, FILE *); +#endif /* Use the above for all the other dumping and undumping. */ #define generic_dump(x) dumpthings (x, 1) |