38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/pdk/util/windows/process.rb', line 38
def set_environment_variable(name, val)
raise ArgumentError, _('Environment variable name must not be nil or empty') if name.nil? || name.empty?
FFI::MemoryPointer.from_string_to_wide_string(name) do |name_ptr|
if val.nil?
if SetEnvironmentVariableW(name_ptr, FFI::MemoryPointer::NULL) == PDK::Util::Windows::WIN32_FALSE
raise _('Failed to remove environment variable: %{name}') % { name: name }
end
else
FFI::MemoryPointer.from_string_to_wide_string(val) do |val_ptr|
if SetEnvironmentVariableW(name_ptr, val_ptr) == PDK::Util::Windows::WIN32_FALSE
raise _('Failed to set environment variaible: %{name}') % { name: name }
end
end
end
end
end
|