From 6b88dd2698760ef2e2306e3e79a0ed9fe159a12c Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 26 Nov 2016 11:37:01 +0000 Subject: file.c: home directory from system * file.c (rb_default_home_dir): resolve home directory from the system database when HOME is not set. [Feature #12695] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- win32/file.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'win32/file.c') diff --git a/win32/file.c b/win32/file.c index c0efb7b091..b50c61292d 100644 --- a/win32/file.c +++ b/win32/file.c @@ -236,6 +236,19 @@ append_wstr(VALUE dst, const WCHAR *ws, ssize_t len, UINT cp, rb_encoding *enc) return dst; } +VALUE +rb_default_home_dir(VALUE result) +{ + const WCHAR *dir = rb_w32_home_dir(); + if (!dir) { + rb_raise(rb_eArgError, "couldn't find HOME environment -- expanding `~'"); + } + append_wstr(result, dir, -1, + rb_w32_filecp(), rb_filesystem_encoding()); + xfree(dir); + return result; +} + VALUE rb_file_expand_path_internal(VALUE fname, VALUE dname, int abs_mode, int long_name, VALUE result) { -- cgit v1.2.3