summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2020-04-28 10:11:20 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2020-04-28 10:11:20 +0000
commit00bb4936e0a1b87e21a6fc4587f456eb6253c8c6 (patch)
tree62847d88ca2c98120bad66e3dbf5968deda3c407 /Build
parent2daedec7c2ef541bbece78da6f59139f1fc1f10b (diff)
improve long path support (windows only)
git-svn-id: svn://tug.org/texlive/trunk@54923 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/kpathsea/ChangeLog2
-rw-r--r--Build/source/texk/kpathsea/knj.c4
-rw-r--r--Build/source/texk/kpathsea/readable.c2
3 files changed, 4 insertions, 4 deletions
diff --git a/Build/source/texk/kpathsea/ChangeLog b/Build/source/texk/kpathsea/ChangeLog
index 1a0bc71088a..933079c1680 100644
--- a/Build/source/texk/kpathsea/ChangeLog
+++ b/Build/source/texk/kpathsea/ChangeLog
@@ -1,4 +1,4 @@
-2020-04-26 Akira Kakuto <kakuto@w32tex.org>
+2020-04-28 Akira Kakuto <kakuto@w32tex.org>
* readable.c, knj.c: Support very long input path name,
longer than _MAX_PATH for Windows, if it really exists and
diff --git a/Build/source/texk/kpathsea/knj.c b/Build/source/texk/kpathsea/knj.c
index b4595207aab..835773ae6d5 100644
--- a/Build/source/texk/kpathsea/knj.c
+++ b/Build/source/texk/kpathsea/knj.c
@@ -126,7 +126,7 @@ kpathsea_fsyscp_xfopen (kpathsea kpse, const char *filename, const char *mode)
*/
fnn = xmalloc(strlen(filename) + 10);
if ((filename[0] == '/' && filename[1] == '/') ||
- (filename[0] == '\\' && filename[1] == '\\')) {
+ (filename[0] == '\\' && filename[1] == '\\' filename[2] != '?')) {
filename += 2;
strcpy (fnn, "\\\\?\\UNC\\");
strcat (fnn, filename);
@@ -182,7 +182,7 @@ kpathsea_fsyscp_fopen (kpathsea kpse, const char *filename, const char *mode)
*/
fnn = xmalloc(strlen(filename) + 10);
if ((filename[0] == '/' && filename[1] == '/') ||
- (filename[0] == '\\' && filename[1] == '\\')) {
+ (filename[0] == '\\' && filename[1] == '\\' && filename[2] != '?')) {
filename += 2;
strcpy (fnn, "\\\\?\\UNC\\");
strcat (fnn, filename);
diff --git a/Build/source/texk/kpathsea/readable.c b/Build/source/texk/kpathsea/readable.c
index 2d060d08cb4..a6dc1233f1a 100644
--- a/Build/source/texk/kpathsea/readable.c
+++ b/Build/source/texk/kpathsea/readable.c
@@ -51,7 +51,7 @@ READABLE(kpathsea kpse, const_string fn, unsigned int st)
full-absolute path in a command line.
*/
if ((fn[0] == '/' && fn[1] == '/') ||
- (fn[0] == '\\' && fn[1] == '\\')) {
+ (fn[0] == '\\' && fn[1] == '\\' && fn[2] != '?')) {
fn += 2;
strcpy (fnn, "\\\\?\\UNC\\");
strcat (fnn, fn);