From 0a9897f6bd2383e1731c9c0bef124af78004ed03 Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 14 Jun 2008 07:56:06 +0000 Subject: * file.c (file_expand_path): no need to expand root path which has no short file name. [ruby-dev:35095] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ file.c | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9b7faa6b2..04b14208b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sat Jun 14 16:55:46 2008 Nobuyoshi Nakada + + * file.c (file_expand_path): no need to expand root path which has no + short file name. [ruby-dev:35095] + Sat Jun 14 11:59:17 2008 Nobuyoshi Nakada * gc.h (STACK_UPPER): moved from gc.c diff --git a/file.c b/file.c index 5b99cf05b..a7f9c064f 100644 --- a/file.c +++ b/file.c @@ -2829,14 +2829,14 @@ file_expand_path(VALUE fname, VALUE dname, VALUE 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'; @@ -2865,7 +2865,7 @@ file_expand_path(VALUE fname, VALUE dname, VALUE result) wfd.cFileName[len -= 4] = '\0'; } #else - p = strrdirsep(s); + p = (char *)s; #endif ++p; BUFCHECK(bdiff + len >= buflen); -- cgit