summaryrefslogtreecommitdiff
path: root/win32/readdir.c
diff options
context:
space:
mode:
authorRui Hirokawa <hirokawa@php.net>2002-04-22 22:14:39 +0000
committerRui Hirokawa <hirokawa@php.net>2002-04-22 22:14:39 +0000
commit36e51815ad8ce90c69a3a55ddca79fb40304a467 (patch)
treee2dd7aa6710df10e640df953a9184b00c31d6f62 /win32/readdir.c
parent303a784822bc5bdc1924029a967035c476078cb4 (diff)
downloadphp-git-36e51815ad8ce90c69a3a55ddca79fb40304a467.tar.gz
fixed access problem when japanese Shift_JIS character is used as directory name. Some characters in Shift_JIS are including 0x5c (slash) as second byte.
Diffstat (limited to 'win32/readdir.c')
-rw-r--r--win32/readdir.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/win32/readdir.c b/win32/readdir.c
index 8c17ce2b22..694a409c35 100644
--- a/win32/readdir.c
+++ b/win32/readdir.c
@@ -29,7 +29,8 @@ DIR *opendir(const char *dir)
filespec = malloc(strlen(dir) + 2 + 1);
strcpy(filespec, dir);
index = strlen(filespec) - 1;
- if (index >= 0 && (filespec[index] == '/' || filespec[index] == '\\'))
+ if (index >= 0 && (filespec[index] == '/' ||
+ (filespec[index] == '\\' && !IsDBCSLeadByte(filespec[index-1]))))
filespec[index] = '\0';
strcat(filespec, "/*");