summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorTakuji Tanaka <ttk@t-lab.opal.ne.jp>2023-08-23 14:53:00 +0000
committerTakuji Tanaka <ttk@t-lab.opal.ne.jp>2023-08-23 14:53:00 +0000
commit9a2b6e1d393341efed3f61c604e7a4dab1c466e4 (patch)
treef8d45300a7b477880811482c14b08394c6c786be /Build
parent504bf7190b156c864e5a3664588dd3e04b58c133 (diff)
afm2pl: Open files with binary mode (Windows only)
git-svn-id: svn://tug.org/texlive/trunk@68029 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/afm2pl/ChangeLog5
-rw-r--r--Build/source/texk/afm2pl/afm2pl.c16
-rwxr-xr-xBuild/source/texk/afm2pl/afm2pl.test6
3 files changed, 22 insertions, 5 deletions
diff --git a/Build/source/texk/afm2pl/ChangeLog b/Build/source/texk/afm2pl/ChangeLog
index 2004d2778dc..0cd038ad34f 100644
--- a/Build/source/texk/afm2pl/ChangeLog
+++ b/Build/source/texk/afm2pl/ChangeLog
@@ -1,3 +1,8 @@
+2023-08-23 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
+
+ * afm2pl.c: Open files with binary mode (Windows only).
+ * afm2pl.test: Make easier to test on Windows.
+
2022-08-30 Karl Berry <karl@freefriends.org>
* afm2pl.1: typo fixes from Hilmar Preu\ss{}e,
diff --git a/Build/source/texk/afm2pl/afm2pl.c b/Build/source/texk/afm2pl/afm2pl.c
index 07cff18a3a4..bcea467e6d5 100644
--- a/Build/source/texk/afm2pl/afm2pl.c
+++ b/Build/source/texk/afm2pl/afm2pl.c
@@ -95,6 +95,14 @@ extern char ascii2ebcdic[];
#define fopen cmsfopen
#endif
+#ifdef WIN32
+#define R_MODE "rb"
+#define W_MODE "wb"
+#else
+#define R_MODE "r"
+#define W_MODE "w"
+#endif
+
/* from dvips.h: */
#ifdef VMS
@@ -473,10 +481,10 @@ openin(const char *fname, kpse_file_format_type format, const char *ext)
const char *realfname;
realfname = fname;
- infile = fopen (realfname, "r");
+ infile = fopen (realfname, R_MODE);
if (!infile && !find_suffix (realfname)) {
realfname = concat (fname, ext);
- infile = fopen (realfname, "r");
+ infile = fopen (realfname, R_MODE);
}
if (infile)
return realfname;
@@ -522,7 +530,7 @@ openout(const char *fname, int based_on, const char *outext)
else
realfname = concat (fname, outext);
}
- outfile = fopen (realfname, "w");
+ outfile = fopen (realfname, W_MODE);
/* afm2tfm uses WRITEBIN instead of "w" for some OS-es */
if (outfile)
return realfname;
@@ -1664,7 +1672,7 @@ static void
writedump(void)
{
int i;
- dmp = fopen (dmpname, "w");
+ dmp = fopen (dmpname, W_MODE);
if (!dmp)
error ("Cant open dump file");
if (lbound) {
diff --git a/Build/source/texk/afm2pl/afm2pl.test b/Build/source/texk/afm2pl/afm2pl.test
index 0d168ab2c40..1ed098728f6 100755
--- a/Build/source/texk/afm2pl/afm2pl.test
+++ b/Build/source/texk/afm2pl/afm2pl.test
@@ -4,9 +4,13 @@
# Copyright 2009, 2011 Peter Breitenlohner <tex-live@tug.org>
# You may freely use, modify and/or distribute this file.
+BinDir=${BinDir:-.}
+ExeExt=${ExeExt:-}
+_afm2pl=$BinDir/afm2pl$ExeExt
+
rm -f logo10.*
TEXMFCNF=$srcdir/../kpathsea \
- ./afm2pl -l 0 $srcdir/tests/logo10 ./logo10.pl \
+ $_afm2pl -l 0 $srcdir/tests/logo10 ./logo10.pl \
&& diff $srcdir/tests/logo10.pl logo10.pl \
&& diff $srcdir/tests/logo10.map logo10.map \
|| exit 1