Project

General

Profile

Bug #12652

For Dir.home encode passed user

Added by davispuh (Dāvis Mosāns) almost 4 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Normal
Target version:
-
ruby -v:
ruby 2.4.0dev (2016-08-03 trunk 55810) [x64-mswin64_140]
[ruby-core:76682]

Description

Currently Dir.home(user) expects that passed user will be already in appropriate encoding but if it's not it will fail because comparing with different encodings.

This causes TestDir#test_home to fail.

user = ENV['USER']
puts Dir.home(user)

fails with

`home': user Dāvis doesn't exist (ArgumentError)

On Linux it will fail too if passed user is in different encoding than locale.

I've attached a patch which fixes this.


Files

0001-For-Dir.home-encode-passed-user.patch (1.24 KB) 0001-For-Dir.home-encode-passed-user.patch davispuh (Dāvis Mosāns), 08/03/2016 04:27 PM

Updated by shyouhei (Shyouhei Urabe) over 3 years ago

  • Assignee set to naruse (Yui NARUSE)
  • Status changed from Open to Assigned
#2

Updated by naruse (Yui NARUSE) over 3 years ago

  • Status changed from Assigned to Closed

Applied in changeset r56600.


  • file.c (rb_home_dir_of): convert given username into filesystem encoding. [ruby-core:76682] [Bug #12652] patched by Dāvis Mosāns

Also available in: Atom PDF