Sha256: 853dba66e08b211a586c073538c78f64ccdefb8b300bf85e264de4561eb35c2f

Contents?: true

Size: 585 Bytes

Versions: 7

Compression:

Stored size: 585 Bytes

Contents

require 'pdk/util/windows'

module PDK::Util::Windows::String
  def wide_string(str)
    # if given a nil string, assume caller wants to pass a nil pointer to win32
    return nil if str.nil?
    # ruby (< 2.1) does not respect multibyte terminators, so it is possible
    # for a string to contain a single trailing null byte, followed by garbage
    # causing buffer overruns.
    #
    # See http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?revision=41920&view=revision
    newstr = str + "\0".encode(str.encoding)
    newstr.encode!('UTF-16LE')
  end
  module_function :wide_string
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
pdk-1.10.0 lib/pdk/util/windows/string.rb
pdk-akerl-1.9.1.1 lib/pdk/util/windows/string.rb
pdk-1.9.1 lib/pdk/util/windows/string.rb
pdk-1.9.0 lib/pdk/util/windows/string.rb
pdk-akerl-1.8.0.1 lib/pdk/util/windows/string.rb
pdk-1.8.0 lib/pdk/util/windows/string.rb
pdk-1.7.1 lib/pdk/util/windows/string.rb