summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--file.c3
2 files changed, 9 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 878498f76e..371e9c5a20 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Sun Apr 10 17:47:42 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * file.c (rb_realpath_internal): no argument conversions since
+ this internal function does not need to_path and encoding
+ conversions, not to be affected by the default internal
+ encoding.
+
Sat Apr 9 10:03:12 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* load.c (rb_f_load): raise with the original path name before
diff --git a/file.c b/file.c
index 2a67cdfeb8..901e46a0c2 100644
--- a/file.c
+++ b/file.c
@@ -3828,7 +3828,6 @@ rb_realpath_internal(VALUE basedir, VALUE path, int strict)
char *ptr, *prefixptr = NULL, *pend;
long len;
- FilePathValue(path);
unresolved_path = rb_str_dup_frozen(path);
if (!NIL_P(basedir)) {
@@ -3915,6 +3914,7 @@ rb_file_s_realpath(int argc, VALUE *argv, VALUE klass)
{
VALUE path, basedir;
rb_scan_args(argc, argv, "11", &path, &basedir);
+ FilePathValue(path);
return rb_realpath_internal(basedir, path, 1);
}
@@ -3935,6 +3935,7 @@ rb_file_s_realdirpath(int argc, VALUE *argv, VALUE klass)
{
VALUE path, basedir;
rb_scan_args(argc, argv, "11", &path, &basedir);
+ FilePathValue(path);
return rb_realpath_internal(basedir, path, 0);
}