summaryrefslogtreecommitdiff
path: root/file.c
diff options
context:
space:
mode:
Diffstat (limited to 'file.c')
-rw-r--r--file.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/file.c b/file.c
index 488b751101..9996423dd3 100644
--- a/file.c
+++ b/file.c
@@ -1784,6 +1784,10 @@ rb_file_s_dirname(klass, fname)
if (p == name)
return rb_str_new2(".");
dirname = rb_str_new(name, p - name);
+#ifdef DOSISH_DRIVE_LETTER
+ if (root == name + 2 && name[1] == ':')
+ rb_str_cat(dirname, ".", 1);
+#endif
OBJ_INFECT(dirname, fname);
return dirname;
}