summaryrefslogtreecommitdiff
path: root/file.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-01-17 08:37:53 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-01-17 08:37:53 +0000
commitdde62bcd2efbb3825d982326896ab774e73e4218 (patch)
tree6a421d3818dd390cf8f6b2c5544726a8950e1401 /file.c
parente43877719bd4bbd12e493e896a0f98c5b349937b (diff)
2000-01-17
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'file.c')
-rw-r--r--file.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/file.c b/file.c
index 5c3c3354e7..efee0cb2b2 100644
--- a/file.c
+++ b/file.c
@@ -1245,7 +1245,7 @@ rb_file_s_expand_path(argc, argv)
p = &buf[strlen(buf)];
while (p > buf && *(p - 1) == '/') p--;
}
- else if (isdirsep(*s)) {
+ else {
while (*s && isdirsep(*s)) {
*p++ = '/';
s++;
@@ -1267,7 +1267,8 @@ rb_file_s_expand_path(argc, argv)
}
else {
*++p = '.';
- *++p = '.';
+ do *++p = '.'; while (*++s == '.');
+ --s;
}
break;
case '/':