module Vagrant::Util::WindowsPath
Public Class Methods
longname(name)
click to toggle source
Converts a Windows shortname to a long name. This only works for ASCII paths currently and doesn’t use the wide character support.
# File lib/vagrant/util/windows_path.rb, line 15 def self.longname(name) # We loop over the API call in case we didn't allocate enough # buffer space. In general it is usually enough. bufferlen = 250 buffer = nil while true buffer = ' ' * bufferlen len = API.GetLongPathNameA(name.to_s, buffer, buffer.size) if bufferlen < len # If the length returned is larger than our buffer length, # it is the API telling us it needs more space. Allocate it # and retry. bufferlen = len continue end break end return buffer.rstrip.chomp("\0") end