diff options
author | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2013-12-05 03:03:58 +0000 |
---|---|---|
committer | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2013-12-05 03:03:58 +0000 |
commit | 2cebd12975f569781b4d3575862a2dbef8a39a21 (patch) | |
tree | 3f350236598cec5b306d15bc36421a39d7efeb9b /Build/source | |
parent | 0ba2504fcfa2002da5da9559b4cd6493913f182e (diff) |
Rwrite command line for popen. (Windows only)
git-svn-id: svn://tug.org/texlive/trunk@32328 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source')
-rw-r--r-- | Build/source/texk/web2c/xetexdir/ChangeLog | 4 | ||||
-rw-r--r-- | Build/source/texk/web2c/xetexdir/XeTeX_ext.c | 8 |
2 files changed, 11 insertions, 1 deletions
diff --git a/Build/source/texk/web2c/xetexdir/ChangeLog b/Build/source/texk/web2c/xetexdir/ChangeLog index 2c3b8bad2da..6e52dc09bf8 100644 --- a/Build/source/texk/web2c/xetexdir/ChangeLog +++ b/Build/source/texk/web2c/xetexdir/ChangeLog @@ -1,3 +1,7 @@ +2013-12-05 Akira Kakuto <kakuto@fuk.kindai.ac.jp> + + * XeTeX_ext.c: Rewrite command line for popen(). Windows only. + 2013-09-25 Karl Berry <karl@tug.org> * xetexextra.h (BANNER), diff --git a/Build/source/texk/web2c/xetexdir/XeTeX_ext.c b/Build/source/texk/web2c/xetexdir/XeTeX_ext.c index de6ef753e26..374834a77f5 100644 --- a/Build/source/texk/web2c/xetexdir/XeTeX_ext.c +++ b/Build/source/texk/web2c/xetexdir/XeTeX_ext.c @@ -2733,6 +2733,8 @@ open_dvi_output(FILE** fptr) } #if defined(WIN32) { + wchar_t *tmp1w; + char *tmp1; char *p, *pp, *bindir, *fullcmd, *prgnam; bindir = kpse_var_value("SELFAUTOLOC"); for(pp = bindir; *pp; pp++) { @@ -2748,10 +2750,14 @@ open_dvi_output(FILE** fptr) } *p = '\0'; fullcmd = concatn("\"\"", bindir, "\\", prgnam, "\"", pp, "\"", NULL); - *fptr = popen(fullcmd, "w"); + tmp1w = get_wstring_from_mbstring(CP_UTF8, (const char *)fullcmd, tmp1w=NULL); + tmp1 = get_mbstring_from_wstring(GetACP(), (const wchar_t *)tmp1w, tmp1=NULL); + *fptr = popen(tmp1, "w"); free(bindir); free(prgnam); free(fullcmd); + free(tmp1w); + free(tmp1); } #else *fptr = popen(cmd, "w"); |