summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--file.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index bbef7c50ab..84a82985cd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sat Jun 14 16:55:46 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * file.c (file_expand_path): no need to expand root path which has no
+ short file name. [ruby-dev:35095]
+
Fri Jun 13 23:08:02 2008 Tanaka Akira <akr@fsij.org>
* lib/time.rb (Time.xmlschema): don't accept decimal dot
diff --git a/file.c b/file.c
index 60d5a94300..ba490c0894 100644
--- a/file.c
+++ b/file.c
@@ -2746,14 +2746,14 @@ file_expand_path(fname, dname, result)
#if USE_NTFS
*p = '\0';
- if (*(s = skipprefix(b = buf)) && !strpbrk(s, "*?")) {
+ if ((s = strrdirsep(b = buf)) != 0 && !strpbrk(s, "*?")) {
size_t len;
WIN32_FIND_DATA wfd;
#ifdef __CYGWIN__
int lnk_added = 0, is_symlink = 0;
struct stat st;
char w32buf[MAXPATHLEN];
- p = strrdirsep(s);
+ p = (char *)s;
if (lstat(buf, &st) == 0 && S_ISLNK(st.st_mode)) {
is_symlink = 1;
*p = '\0';
@@ -2782,7 +2782,7 @@ file_expand_path(fname, dname, result)
wfd.cFileName[len -= 4] = '\0';
}
#else
- p = strrdirsep(s);
+ p = (char *)s;
#endif
++p;
BUFCHECK(bdiff + len >= buflen);